D25624: Don't use qmlRegisterType with QT-5.14

Peter Levine noreply at phabricator.kde.org
Sat Nov 30 05:37:04 GMT 2019


plevine created this revision.
plevine added a reviewer: jriddell.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
plevine requested review of this revision.

REVISION SUMMARY
  Building Plymouth-kcm-5.17.3 against Qt 5.14.0_beta3 fails with:
  
    ../plymouth-kcm-5.17.3/src/kcm.cpp: In constructor 'KCMPlymouth::KCMPlymouth(QObject*, const QVariantList&)':
    ../plymouth-kcm-5.17.3/src/kcm.cpp:54:41: error: no matching function for call to 'qmlRegisterType<QStandardItemModel>()'
       54 |     qmlRegisterType<QStandardItemModel>();
          |                                         ^
    In file included from /usr/include/qt5/QtQml/QtQml:9,
                     from /usr/include/KF5/KDeclarative/kquickaddons/configmodule.h:34,
                     from /usr/include/KF5/KDeclarative/KQuickAddons/ConfigModule:1,
                     from ../plymouth-kcm-5.17.3/src/kcm.h:28,
                     from ../plymouth-kcm-5.17.3/src/kcm.cpp:21:
    /usr/include/qt5/QtQml/qqml.h:291:5: note: candidate: 'int qmlRegisterType(const char*, int, int, const char*) [with T = QStandardItemModel]'
      291 | int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
          |     ^~~~~~~~~~~~~~~
    /usr/include/qt5/QtQml/qqml.h:291:5: note:   candidate expects 4 arguments, 0 provided
    /usr/include/qt5/QtQml/qqml.h:322:5: note: candidate: 'template<class T, int metaObjectRevision> int qmlRegisterType(const char*, int, int, const char*)'
      322 | int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
          |     ^~~~~~~~~~~~~~~
    /usr/include/qt5/QtQml/qqml.h:322:5: note:   template argument deduction/substitution failed:
    ../plymouth-kcm-5.17.3/src/kcm.cpp:54:41: note:   candidate expects 4 arguments, 0 provided
       54 |     qmlRegisterType<QStandardItemModel>();
          |                                         ^
    ../plymouth-kcm-5.17.3/src/kcm.cpp:55:34: error: no matching function for call to 'qmlRegisterType<KCMPlymouth>()'
       55 |     qmlRegisterType<KCMPlymouth>();
          |                                  ^
    In file included from /usr/include/qt5/QtQml/QtQml:9,
                     from /usr/include/KF5/KDeclarative/kquickaddons/configmodule.h:34,
                     from /usr/include/KF5/KDeclarative/KQuickAddons/ConfigModule:1,
                     from ../plymouth-kcm-5.17.3/src/kcm.h:28,
                     from ../plymouth-kcm-5.17.3/src/kcm.cpp:21:
    /usr/include/qt5/QtQml/qqml.h:291:5: note: candidate: 'int qmlRegisterType(const char*, int, int, const char*) [with T = KCMPlymouth]'
      291 | int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
          |     ^~~~~~~~~~~~~~~
    /usr/include/qt5/QtQml/qqml.h:291:5: note:   candidate expects 4 arguments, 0 provided
    /usr/include/qt5/QtQml/qqml.h:322:5: note: candidate: 'template<class T, int metaObjectRevision> int qmlRegisterType(const char*, int, int, const char*)'
      322 | int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
          |     ^~~~~~~~~~~~~~~
    /usr/include/qt5/QtQml/qqml.h:322:5: note:   template argument deduction/substitution failed:
    ../plymouth-kcm-5.17.3/src/kcm.cpp:55:34: note:   candidate expects 4 arguments, 0 provided
       55 |     qmlRegisterType<KCMPlymouth>();
          |                                  ^
    ninja: build stopped: subcommand failed.
  
  From https://doc-snapshots.qt.io/qt5-5.14/qqmlengine-obsolete.html:
  
    int qmlRegisterType()
    This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.
    
    This is an overloaded function.
    
    Do not use this function. For anonymous type registrations, use qmlRegisterAnonymousType(), and make sure to provide a URI and a major version.
  
  I don't have much experience with QT/KDE programming but these changes are sufficient to fix the build error on my end.
  
  BUG: 414679

REPOSITORY
  R124 System Settings

REVISION DETAIL
  https://phabricator.kde.org/D25624

AFFECTED FILES
  src/kcm.cpp

To: plevine, jriddell
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20191130/dfe33449/attachment-0001.html>


More information about the Plasma-devel mailing list