Bug 413350 - unmanaged disappears after fast hide and show operations
Summary: unmanaged disappears after fast hide and show operations
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-23 06:34 UTC by sycao
Modified: 2019-10-24 10:20 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sycao 2019-10-23 06:34:35 UTC
SUMMARY

if an override-redirected window unmaps and then maps again quickly, kwin will fail
to display it again.

STEPS TO REPRODUCE
write a simple app with which a QWindow hide and show again can reproduce the problem
easily.

OBSERVED RESULT

window disappears.

EXPECTED RESULT

window shows again.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 sycao 2019-10-23 06:38:50 UTC
I've submitted a patch here https://phabricator.kde.org/D24878
Comment 2 sycao 2019-10-24 10:20:35 UTC
Git commit 1177ef372039221c5b0cec56fff4a36cde44a0c1 by Sian Cao.
Committed on 24/10/2019 at 10:20.
Pushed by scao into branch 'master'.

[x11] Check pending release when mapping

Summary:
 when unmap notify is followed by a map, the old Unmanaged will get released and never be managed again. by checking if there is a pending release operation, we can safely re-manage the window again.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin, scao

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24878

M  +12   -2    events.cpp
M  +5    -0    unmanaged.cpp
M  +2    -0    unmanaged.h

https://commits.kde.org/kwin/1177ef372039221c5b0cec56fff4a36cde44a0c1