diff options
| author | Martin Gräßlin <mgraesslin@kde.org> | 2016-12-26 10:04:14 (GMT) |
|---|---|---|
| committer | Martin Gräßlin <mgraesslin@kde.org> | 2016-12-27 16:36:32 (GMT) |
| commit | bba18a1ba812f3a147173edc19516f0e00e7c855 (patch) | |
| tree | 62fbb392e047296254a419592ba59b95f7731aff | |
| parent | 2b51b85aa11cde3cd6a958c98b47de5543516dc4 (diff) | |
Fix the osd re-placement on X11
Summary:
6383f8304711719fe22371474138efc144adc750 introduced a regression hitting
an assert on X11 when an osd window is added.
This change tries to address this by adding a GeometryUpdateBlocker
around the change. The hit assertion is:
pendingGeometryUpdate() == PendingGeometryNone ||
areGeometryUpdatesBlocked()
By using a GeometryUpdateBlocker the second condition becomes true
and we no longer hit the condition.
BUG: 374038
Test Plan:
Manual tested both on X11 and Wayland, Wayland autotest
still passes
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D3808
| -rw-r--r-- | abstract_client.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/abstract_client.cpp b/abstract_client.cpp index cfa7f93..a33821a 100644 --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -75,6 +75,7 @@ AbstractClient::AbstractClient() [this] (Toplevel *c, const QRect &old) { Q_UNUSED(c) if (isOnScreenDisplay() && !geometry().isEmpty() && old.size() != geometry().size()) { + GeometryUpdatesBlocker blocker(this); QRect area = workspace()->clientArea(PlacementArea, Screens::self()->current(), desktop()); Placement::self()->place(this, area); setGeometryRestore(geometry()); |
