Feedback from compiling KWin against Qt5/KF5

Martin Gräßlin mgraesslin at kde.org
Thu Mar 7 14:02:26 UTC 2013


Hi,

I did a try to compile KWin against Qt5/KF5 to figure out whether we solved 
all native usages (no, we haven't I found new stuff). I think I did compile 
through but had not corrected the target link libraries so not completely 
sure.

Good parts:
* only one compile error due to changes in Qt 5 in the non native parts. And I 
am happy about that change and fixable with auto.
* shortstat with ifdefs to get it compile on Qt5/KF5:
17 files changed, 71 insertions(+), 11 deletions(-)
and that diff includes some ifdefs to hide internally deprecated methods. 
Pretty cool for a code base of ~90 ksloc. (I did not compile the KCMs and 
Oxygen decoration)

Bad parts:
* fixx11h.h is broken - I will look into that
* Removed methods/ctors which were not marked as deprecated. These are:
 ** KDesktopFile::KDesktopFile(const char *resourceType, const QString 
&fileName)
    -> replaced by a ctor with QStandardPaths::StandardLocation resourceType
 ** KXMessages( const char* accept_broadcast, QWidget* parent, bool obsolete )
   -> API doc states that obsolete is always true, second ctor is marked as 
deprecated, but that one is still present while the non deprecated got removed
 ** KLocale::insertCatalog(const QString& catalog)
 ** KAboutData changed semantics completely, previous one in K4AboutData. Not 
obvious to discover, noticed through KCmdLineArgs taking a K4AboutData 
argument. This needs documentation (if it doesn't exist) or even better a 
compile warning pointing to the deprecated class
 ** KSelectionOwner::claim chainged from return bool to return void

Annoying parts:
* KWin had about 60 times KLocale included to get i18n. In KDE 4 this used to 
include KLocalizedString, in KF5 all of them run on compile error. I'm not 
sure how annoying that will be during porting, but in kde-workspace I find 345 
references to klocale vs. 98 klocalizedstring (this includes already adjusted 
KWin)
* same issue for KGlobal which used to be included with KStandardDirs and 
similar.
* Our KPLuginFactory macros were throwing so many errors that I disabled 
building of KCMs of effects

--
Martin Gräßlin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20130307/0812325b/attachment.sig>


More information about the Kde-frameworks-devel mailing list