summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Gräßlin <mgraesslin@kde.org>2016-12-26 10:04:14 (GMT)
committerMartin Gräßlin <mgraesslin@kde.org>2016-12-27 16:36:32 (GMT)
commitbba18a1ba812f3a147173edc19516f0e00e7c855 (patch)
tree62fbb392e047296254a419592ba59b95f7731aff
parent2b51b85aa11cde3cd6a958c98b47de5543516dc4 (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.cpp1
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());