Review Request 115225: Add runtime platform support to KWindowInfo
Martin Gräßlin
mgraesslin at kde.org
Fri Jan 24 08:04:24 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115225/
-----------------------------------------------------------
(Updated Jan. 24, 2014, 9:04 a.m.)
Review request for KDE Frameworks and kdewin.
Changes
-------
changed to the suggested way of having a class as template argument and delegate to impl-classes.
Repository: kwindowsystem
Description
-------
Add runtime platform support to KWindowInfo
Main idea of this change is to only pick the X11 implementation in case
that the application is running on the X11 platform. So far it was a
compile time switch which meant that if compiled with X11 support but
not running on the X11 platform it would have caused runtime errors.
To make this possible a KWindowInfoPrivate class with a dummy
implementation is provided. This is used as d-ptr for KWindowInfo.
Thus there is one generic implementation and the implementation of
KWindowInfo is no longer ifdefed for the supported platforms.
The platform specific code can inherit from KWindowInfoPrivate and
overwrite the dummy method implementation. KWindowInfoPrivate provides
a factory method where the platform specific implementation can be
hooked into. There we can have both compile time and runtime checking.
If there is no platfom specific implementation available the dummy
implementation is used.
NOTE: THIS CHANGE BREAKS THE WINDOWS AND MAC BACKEND!
Windows and Mac is excluded from build. At the moment they get the
dummy implementation. Unfortunately I don't have the possibility to
compile the changes and thus don't dare to touch the code. Fixes from
the teams are highly appreciated.
Diffs (updated)
-----
src/kwindowinfo.cpp PRE-CREATION
src/kwindowinfo_p.h PRE-CREATION
src/kwindowinfo_p_x11.h PRE-CREATION
src/kwindowinfo_x11.cpp 865d8bed085e987f97f479ea8aa0e6de8567586f
src/CMakeLists.txt e32a1150a2c190f23ad456ca8218b012c5d71507
src/kwindowinfo.h 171f441ff329a5356ccf560341272199e20c837a
Diff: https://git.reviewboard.kde.org/r/115225/diff/
Testing
-------
Unit test from https://git.reviewboard.kde.org/r/115190/ is still working. Now you can guess why I wrote that test ;-)
Thanks,
Martin Gräßlin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140124/7311a420/attachment.html>
More information about the Kde-frameworks-devel
mailing list