Schedule workspace repaint for destroyed clients
We need to schedule a workspace repaint in case no effect is going to animate the window. The workspace repaint is issued before creating a Deleted because the latter takes the owner of the effect window, which means that after an instance of Deleted has been created, visibleRect() returns the frame geometry. CCBUG: 425294
This commit is contained in:
parent
6d433bdfc9
commit
12e59f9af8
2 changed files with 2 additions and 1 deletions
|
@ -236,6 +236,7 @@ void AbstractClient::markAsZombie()
|
|||
{
|
||||
Q_ASSERT(!m_zombie);
|
||||
m_zombie = true;
|
||||
addWorkspaceRepaint(visibleRect());
|
||||
}
|
||||
|
||||
Layer AbstractClient::layer() const
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue