Review Request 124220: kwindowsystem: Add a plugin infrastructure for platform specific implementations

Hrvoje Senjan hrvoje.senjan at gmail.com
Wed Jul 8 17:52:11 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124220/#review82237
-----------------------------------------------------------



src/pluginwrapper.cpp (line 68)
<https://git.reviewboard.kde.org/r/124220/#comment56613>

    After updating to latest master, i wonder do we need this debug enabled by default? :D


- Hrvoje Senjan


On July 7, 2015, 1:31 p.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124220/
> -----------------------------------------------------------
> 
> (Updated July 7, 2015, 1:31 p.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/20150708/f9a2266e/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list