Review Request 124220: kwindowsystem: Add a plugin infrastructure for platform specific implementations
Aleix Pol Gonzalez
aleixpol at kde.org
Thu Jul 2 09:33:00 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124220/#review81979
-----------------------------------------------------------
+1
- Aleix Pol Gonzalez
On July 2, 2015, 8:19 a.m., Martin Gräßlin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124220/
> -----------------------------------------------------------
>
> (Updated July 2, 2015, 8:19 a.m.)
>
>
> Review request for KDE Frameworks.
>
>
> Repository: kwindowsystem
>
>
> Description
> -------
>
> A plugin interface is added which allows a platform specific plugin
> to implement an interface. If the plugin does not implement the
> interface, it will fall back to the default implementation. Also
> if no plugin can be resolved it will fall back to the default
> implementation.
>
> This replaces the existing compile time and runtime selection. In
> order to make this work the KWindowInfoPrivate is changed from a
> templated approach to using pure virtuals just like the other private
> implementations in this library.
>
> As the platform specific parts are no longer compiled in we cannot
> "just" delegate the KWindowSystem::icon with NETWinInfo overload
> to the xcb implementation. In order to solve this problem the required
> method is added to the private interface with a default implementation
> which does not return anything. If we are not on platform xcb and
> KWindowSystem is compiled with X11 support the plugin for xcb is loaded
> and the call gets delegated to the xcb implementation. This allows e.g.
> KWin to still read icons for Xwayland clients.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt ff2ce392ecd7969eb94543528c7a670ea0fcd870
> src/config-kwindowsystem.h.cmake fa0eec115870be27a17ec7b398e40f0c7506f11b
> src/kwindoweffects.cpp fd88e20e1728506f135bcd5ecda3c05754839717
> src/kwindoweffects_dummy.cpp 3e24cecb5c7d25883c179b622abdb5ab06587c33
> src/kwindoweffects_dummy_p.h PRE-CREATION
> src/kwindoweffects_p.h 7c740da952f279a2c5fe689daa5a06c131fa9c9d
> src/kwindowinfo.cpp f29828581cdaecb7613c3f62cff72aa1fc33c266
> src/kwindowinfo_dummy_p.h PRE-CREATION
> src/kwindowinfo_p.h 6727dd1715a13e5bd7793275620c5fa682318f1c
> src/kwindowsystem.cpp 789132e1b4883dd54218d29af9710dedfe6218e1
> src/kwindowsystem_dummy_p.h PRE-CREATION
> src/kwindowsystem_p.h 0b5f3e8aeb7b70234c61c59979abd840f349b154
> src/kwindowsystemplugininterface.cpp PRE-CREATION
> src/kwindowsystemplugininterface_p.h PRE-CREATION
> src/platforms/wayland/CMakeLists.txt PRE-CREATION
> src/platforms/wayland/plugin.h PRE-CREATION
> src/platforms/wayland/plugin.cpp PRE-CREATION
> src/platforms/wayland/wayland.json PRE-CREATION
> src/platforms/xcb/CMakeLists.txt PRE-CREATION
> src/platforms/xcb/kwindoweffects.cpp
> src/platforms/xcb/kwindoweffects_x11.h PRE-CREATION
> src/platforms/xcb/kwindowinfo.cpp
> src/platforms/xcb/kwindowinfo_p_x11.h
> src/platforms/xcb/kwindowsystem.cpp
> src/platforms/xcb/kwindowsystem_p_x11.h
> src/platforms/xcb/plugin.h PRE-CREATION
> src/platforms/xcb/plugin.cpp PRE-CREATION
> src/platforms/xcb/xcb.json PRE-CREATION
> src/pluginwrapper.cpp PRE-CREATION
> src/pluginwrapper_p.h PRE-CREATION
>
> Diff: https://git.reviewboard.kde.org/r/124220/diff/
>
>
> Testing
> -------
>
> * unit tests still pass (X11)
> * kwin_wayland still shows icons for Xwayland clients
>
>
> Thanks,
>
> Martin Gräßlin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150702/e4476dc1/attachment-0001.html>
More information about the Kde-frameworks-devel
mailing list