https://bugs.kde.org/show_bug.cgi?id=400854
--- Comment #5 from Vlad Zagorodniy <vladz...@gmail.com> --- Git commit 8af6d4f5dc74385a9d52820562162dc190f452ff by Vlad Zagorodniy. Committed on 26/11/2018 at 08:50. Pushed by vladz into branch 'master'. [x11] Emit clientRemoved after client was removed Summary: Currently, there is a guarantee that a client, which is about to be removed, is no longer in the stacking order(both in constrained and unconstrained) when Workspace::removeClient is called. However, because the client gets removed from m_allClients after clientRemoved is emitted, it can be re-inserted back into the stacking order. In general, the pattern is to do some work and then notify others about what you've done by emitting a signal. In the case of Workspace::removeClient, we emit clientRemoved way before the client actually gets removed. Related: bug 392412 Test Plan: * Enable the following script: ```lang=js workspace.clientAdded.connect(function (client) { if (client.skipTaskbar || client.modal || client.transient) { return; } workspace.desktops = workspace.desktops + 1; workspace.currentDesktop = workspace.desktops; client.desktop = workspace.currentDesktop; }); workspace.clientRemoved.connect(function (client) { if (client.skipTaskbar || client.modal || client.transient) { return; } workspace.desktops = workspace.desktops - 1; }); ``` * Open an app, close the app. Reviewers: #kwin, graesslin Reviewed By: #kwin, graesslin Subscribers: graesslin, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D17069 M +2 -2 workspace.cpp https://commits.kde.org/kwin/8af6d4f5dc74385a9d52820562162dc190f452ff -- You are receiving this mail because: You are watching all bug changes.