[slidingpopups] Only remove WindowClosedGrabRole if the effect owns the grab
Summary: The effect unset the WindowClosedGrabRole unconditionally if it does not manage the window. This results in any grab set by other effects to break. BUG: 376609 FIXED-IN: 5.9.5 Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D5225
This commit is contained in:
parent
3d56f58bf9
commit
49fc310594
1 changed files with 3 additions and 1 deletions
|
@ -360,7 +360,9 @@ void SlidingPopupsEffect::slotPropertyNotify(EffectWindow* w, long a)
|
|||
|
||||
if (data.length() < 1) {
|
||||
// Property was removed, thus also remove the effect for window
|
||||
w->setData(WindowClosedGrabRole, QVariant());
|
||||
if (w->data(WindowClosedGrabRole).value<void *>() == this) {
|
||||
w->setData(WindowClosedGrabRole, QVariant());
|
||||
}
|
||||
delete mAppearingWindows.take(w);
|
||||
delete mDisappearingWindows.take(w);
|
||||
mWindowsData.remove(w);
|
||||
|
|
Loading…
Reference in a new issue