24bdfc6317
Summary: Toplevel::window() is the actual X11 window. This makes it difficult to use as the generic identifier for both X11 and Wayland. The Wayland ShellClient already had a windowId() which is now added to Toplevel as a virtual method. On X11 (Toplevel default) it returns the window(). The method window() now returns XCB_WINDOW_NONE for classes without the Toplevel::m_client, such as ShellClient. Thus it allows to properly check whether we are on Wayland or X11. The code is adjusted to use windowId where a generic id is needed and to properly check whether the window is valid before using it where a window() is used. This also fixes at least one additional unknown issue in Workspace::setActiveClient where the windowId of a Wayland client was passed to X11. Reviewers: #plasma Subscribers: plasma-devel Projects: #plasma Differential Revision: https://phabricator.kde.org/D1527 |
||
---|---|---|
.. | ||
autotests | ||
clientmodel.cpp | ||
clientmodel.h | ||
CMakeLists.txt | ||
desktopchain.cpp | ||
desktopchain.h | ||
desktopmodel.cpp | ||
desktopmodel.h | ||
kwindesktopswitcher.desktop | ||
kwinwindowswitcher.desktop | ||
switcheritem.cpp | ||
switcheritem.h | ||
tabbox.cpp | ||
tabbox.h | ||
tabbox_logging.cpp | ||
tabbox_logging.h | ||
tabboxconfig.cpp | ||
tabboxconfig.h | ||
tabboxhandler.cpp | ||
tabboxhandler.h |