summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandwindow_p.h
diff options
context:
space:
mode:
authorDavid Edmundson <davidedmundson@kde.org>2019-06-23 14:48:30 +0200
committerDavid Edmundson <davidedmundson@kde.org>2019-08-21 17:59:21 +0100
commit5d43a686fc3d5f13087a61e8ef216ecbbae0d15e (patch)
treee3304f1e0ce3e1b35aaaa22231d759d9837cd960 /src/client/qwaylandwindow_p.h
parent3e96fa1df8d2bc0ec8ab66abae1f20439b786b40 (diff)
Client: Make handleUpdate aware of exposure changes
The wl_surface can be destroyed whilst a render is happening. Calling wl_surface::frame after the window is reset can crash as wl_surface is null. Fixes: QTBUG-77747 Change-Id: I139a9b234cb6acba81d6c1d5fa58629904a25053 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/client/qwaylandwindow_p.h')
-rw-r--r--src/client/qwaylandwindow_p.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
index 23432e398..ed4061f0e 100644
--- a/src/client/qwaylandwindow_p.h
+++ b/src/client/qwaylandwindow_p.h
@@ -53,6 +53,8 @@
#include <QtCore/QWaitCondition>
#include <QtCore/QMutex>
+#include <QtCore/QReadWriteLock>
+
#include <QtGui/QIcon>
#include <QtCore/QVariant>
#include <QtCore/QLoggingCategory>
@@ -272,6 +274,8 @@ private:
static QMutex mFrameSyncMutex;
static QWaylandWindow *mMouseGrab;
+ QReadWriteLock mSurfaceLock;
+
friend class QWaylandSubSurface;
};