graesslin created this revision. graesslin added a reviewer: Plasma. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel.
REVISION 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. REPOSITORY rKWIN KWin BRANCH split-window-and-windowId REVISION DETAIL https://phabricator.kde.org/D1527 AFFECTED FILES decorations/decoratedclient.cpp effects.cpp shadow.cpp shell_client.cpp shell_client.h tabbox/tabbox.cpp thumbnailitem.cpp toplevel.cpp toplevel.h useractions.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, Plasma Cc: plasma-devel, sebas
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel