[Development] Fwd: A simple analysis of apps using qtbase's private headers

PCMan pcman.tw at gmail.com
Fri Jan 22 15:57:06 CET 2016


---------- Forwarded message ----------
From: PCMan <pcman.tw at gmail.com>
Date: Fri, Jan 22, 2016 at 10:56 PM
Subject: Re: [Development] A simple analysis of apps using qtbase's private
headers
To: Lisandro Damián Nicanor Pérez <perezmeyer at gmail.com>


Hello,
I'm one of the LXQt developers so I can answer part of your questions.

On Fri, Jan 22, 2016 at 11:15 AM, Lisandro Damián Nicanor Pérez <
perezmeyer at gmail.com> wrote:

> I did a **very** simple analysis of apps packaged in Debian using qtbase's
> private headers. My main concern was to see if we (Debian) can avoid
> having to
> rebuild them every time we push a new version of Qt to our archive.
>
> What I've found seemed interesting so I decided to share it here.
>
> The following three have something in common: they are all apps coded for
> Chinese people. I've been told that they need QPA's private stuff in order
> to
> have proper input systems, but I haven't checked.
>
> * fcitx-qt5 1.0.5
> * gcin 2.8.4
> * hime 0.9.10
>
> If people go to the extent of using private headers for this maybe it's a
> very
> good reason to (somehow) make that part of the API public. It might make a
> difference for chinese coders.
>
> --8<--
>
> The following three seems to be using at least qpa/qplatformtheme.h
>
> * KDE's frameworkintegration 5.16.0
> * libqtxdg 1.3.0
> * lxqt-qtplugin 0.10.0
>
> Maybe for being able to create it's own theme?
>


Yes, but it's not only for themes.
Libqtxdg uses Qt private headers to woakround bugs in QIconTheme and QIcon.
Lxqt-plugin uses Qt private qpa headers to support customized themes and
make some desktop settings work correctly.
Our LXQt file manager pcmanfm-qt will be using Qt private headers qdnd_p.h
for workaround a regression bug of Qt 5.5 which breaks DND.

Thanks!



>
> --8<--
>
> And the rest for various reasons:
>
> * KDE's kdeclarative 5.16.0: code says to use QQuickImageProvider
>
> * KDE's kwin 5.4.3: qpa/qwindowsysteminterface.h
>
> * gammaray 2.4.0 I guess it needs to get into internal stuff.
>
> * musescore 2.0.2 An interesting false positive. It embeds Qt's code
> without a
> namespace so the resulting symbols files get catched by our tools and
> confuse
> them.
>
> * qtcurve 1.8.18: private/qwidget_p.h (no further digging)
>
> * calibre 2.48.0: quite a lot of stuff, just saw it and left it there.
>
>
> That's all. I really hope someone finds it interesting.
>
> <https://packages.debian.org/source/sid/fcitx-qt5>
> <https://packages.debian.org/source/sid/frameworkintegration>
> <https://packages.debian.org/source/sid/gcin>
> <https://packages.debian.org/source/sid/hime>
> <https://packages.debian.org/source/sid/kdeclarative>
> <https://packages.debian.org/source/sid/kwin>
> <https://packages.debian.org/source/sid/libqtxdg>
> <https://packages.debian.org/source/sid/gammaray>
> <https://packages.debian.org/source/sid/lxqt-qtplugin>
> <https://packages.debian.org/source/sid/musescore>
> <https://packages.debian.org/source/sid/qtcurve>
> <https://packages.debian.org/source/sid/calibre>
>
> --
> Never attribute to malice that which is adequately explained by stupidity.
>   http://en.wikipedia.org/wiki/Hanlon's_razor
>
> Lisandro Damián Nicanor Pérez Meyer
> http://perezmeyer.com.ar/
> http://perezmeyer.blogspot.com/
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20160122/47245b65/attachment.html>


More information about the Development mailing list