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