Git commit 2ab8a7b80acdd6861730baa209fa9f2bec808691 by Martin Gr=C3=A4=C3= =9Flin. Committed on 19/08/2016 at 07:15. Pushed by graesslin into branch 'master'. Emit Workspace::deletedRemoved for every Deleted still around when terminat= ing Workspace For the exit-with-session option in kwin_wayland there is a chance that the window which triggered termination is currently a Deleted. The Wayland shutdown sequence terminates Workspace before the Compositor which results in that Deleted's Scene::Window surviving the shutdown process and thus the Shadow not being removed from the cache. This makes KWin assert very late in the shutdown process when the decoration shadow cache gets destroyed. M +5 -0 workspace.cpp http://commits.kde.org/kwin/2ab8a7b80acdd6861730baa209fa9f2bec808691 diff --git a/workspace.cpp b/workspace.cpp index c62d073..2cc43a5 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -470,6 +470,11 @@ Workspace::~Workspace() (*it)->release(ReleaseReason::KWinShutsDown); xcb_delete_property(connection(), rootWindow(), atoms->kwin_running); = + for (auto it =3D deleted.begin(); it !=3D deleted.end();) { + emit deletedRemoved(*it); + it =3D deleted.erase(it); + } + delete RuleBook::self(); kwinApp()->config()->sync(); =