Summary:
KWindowSystem cannot be used in the Qt 4 style plugin. On the other hand,
we need to use KWindowSystem to make QWidget-based internal clients in
KWin cast drop-shadows.
Another problem with the Qt 4 style plugin is that some distributions
have already dropped Qt 4, so one has to build it first in order to
verify that his or her change works with Qt 4.
Given maintenance burden and the fact that Qt 6 is around the corner,
this change drops the Qt 4 style plugin.
Reviewers: #kwin, #plasma, davidedmundson
Reviewed By: #kwin, #plasma, davidedmundson
Subscribers: davidedmundson, mart, plasma-devel
Tags: #plasma
Maniphest Tasks: T12496
Differential Revision: https://phabricator.kde.org/D26476
- removed useless "virtual" specifications
- removed useless destructors
- cleanup variable initializations
- moved protected methods as private when possible for better encapsulation
Since Qt 5.6.0, Qt5 applications started crashing on exit. All signs
point to this delete-on-destroy hack which was added to avoid outliving
the plugin lifetime.
This method is wrong because the returned style is owned by the caller
(QApplication, QProxyStyle, etc) and will cleaned up when those users
are destructed.
REVIEW: 128760
Since Qt 5.6.0, Qt5 applications started crashing on exit. All signs
point to this delete-on-destroy hack which was added to avoid outliving
the plugin lifetime.
This method is wrong because the returned style is owned by the caller
(QApplication, QProxyStyle, etc) and will cleaned up when those users
are destructed.
Review: 128760
due to the removal of explicit moc includes the qt4 build broke as the
plugin helpers were multi-defined (not that I knew why). easy way out is
moving Q_EXPORT_PLUGIN2 from the .h to the .cpp as recommended by the qt
docs anyway.
> There should be exactly one occurrence of this macro in the source code
> for a Qt plugin, and it should be used where the implementation is
> written rather than in a header file.
http://build.kde.org/job/breeze_master/82/console
CCMAIL: kfunk@kde.org