diff --git a/abstract_client.cpp b/abstract_client.cpp index bac6ca25f..96122f0f2 100644 --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -236,6 +236,7 @@ void AbstractClient::markAsZombie() { Q_ASSERT(!m_zombie); m_zombie = true; + addWorkspaceRepaint(visibleRect()); } Layer AbstractClient::layer() const diff --git a/unmanaged.cpp b/unmanaged.cpp index 93061449e..c55caac2f 100644 --- a/unmanaged.cpp +++ b/unmanaged.cpp @@ -87,6 +87,7 @@ bool Unmanaged::track(xcb_window_t w) void Unmanaged::release(ReleaseReason releaseReason) { + addWorkspaceRepaint(visibleRect()); Deleted* del = nullptr; if (releaseReason != ReleaseReason::KWinShutsDown) { del = Deleted::create(this); @@ -99,7 +100,6 @@ void Unmanaged::release(ReleaseReason releaseReason) Xcb::selectInput(window(), XCB_EVENT_MASK_NO_EVENT); } workspace()->removeUnmanaged(this); - addWorkspaceRepaint(visibleRect()); if (releaseReason != ReleaseReason::KWinShutsDown) { disownDataPassedToDeleted(); del->unrefWindow();