|
|
b814f0 |
From 867540b9d913760a847ff67c8694d817c821f2c2 Mon Sep 17 00:00:00 2001
|
|
|
b814f0 |
From: David Edmundson <davidedmundson@kde.org>
|
|
|
b814f0 |
Date: Sun, 14 Nov 2021 13:54:19 +0000
|
|
|
b814f0 |
Subject: [PATCH 41/52] Client: Avoid processing of events when showing windows
|
|
|
b814f0 |
|
|
|
b814f0 |
The only time we want to dispatch events from the wayland socket is when
|
|
|
b814f0 |
the application is waiting for external events. Doing so at any other
|
|
|
b814f0 |
time will cause unpredictable behavior in client code.
|
|
|
b814f0 |
|
|
|
b814f0 |
This caused a crash downstream where we had outputs get altered whilst
|
|
|
b814f0 |
itterating through outputs, which shouldn't happen.
|
|
|
b814f0 |
|
|
|
b814f0 |
There is no benefit to flushing here, it won't make anything appear
|
|
|
b814f0 |
faster as we haven't attached the buffer yet.
|
|
|
b814f0 |
|
|
|
b814f0 |
Change-Id: Ie13eae4012dab96a93d8810f468d1343402b8c28
|
|
|
b814f0 |
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
b814f0 |
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
|
|
|
b814f0 |
(cherry picked from commit 46ed85a80b28d519cf5887bbdce55d1bf57886c3)
|
|
|
b814f0 |
---
|
|
|
b814f0 |
src/client/qwaylandwindow.cpp | 1 -
|
|
|
b814f0 |
1 file changed, 1 deletion(-)
|
|
|
b814f0 |
|
|
|
b814f0 |
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
|
|
b814f0 |
index ba881cb3..1597f67e 100644
|
|
|
b814f0 |
--- a/src/client/qwaylandwindow.cpp
|
|
|
b814f0 |
+++ b/src/client/qwaylandwindow.cpp
|
|
|
b814f0 |
@@ -436,7 +436,6 @@ void QWaylandWindow::setVisible(bool visible)
|
|
|
b814f0 |
if (window()->type() == Qt::Popup || window()->type() == Qt::ToolTip)
|
|
|
b814f0 |
activePopups << this;
|
|
|
b814f0 |
initWindow();
|
|
|
b814f0 |
- mDisplay->flushRequests();
|
|
|
b814f0 |
|
|
|
b814f0 |
setGeometry(windowGeometry());
|
|
|
b814f0 |
// Don't flush the events here, or else the newly visible window may start drawing, but since
|
|
|
b814f0 |
--
|
|
|
b814f0 |
2.35.1
|
|
|
b814f0 |
|