summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandshmbackingstore_p.h
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-12-06 19:57:39 +0200
committerGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-12-06 22:56:12 +0100
commit26ec3626f1088c272e3232f0341781bb38f518f3 (patch)
tree6190a6dc490522899dfafd95a280b107bf7b0214 /src/client/qwaylandshmbackingstore_p.h
parent8ed59f12ed21e69113a85851732d64b6de1de0c3 (diff)
Fix possible double free when hiding a window
There was a race condition between the gui and the wayland event thread which could lead to double freeing the QWaylandShmBackingStore's frame callback. Protect the wl_callback_destroy calls using a mutex. Change-Id: Ia70ebac208a6d4450328ba5254a850be26d84d6d Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/client/qwaylandshmbackingstore_p.h')
-rw-r--r--src/client/qwaylandshmbackingstore_p.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/client/qwaylandshmbackingstore_p.h b/src/client/qwaylandshmbackingstore_p.h
index 1212e52fe..c0d730dee 100644
--- a/src/client/qwaylandshmbackingstore_p.h
+++ b/src/client/qwaylandshmbackingstore_p.h
@@ -47,6 +47,7 @@
#include <qpa/qplatformbackingstore.h>
#include <QtGui/QImage>
#include <qpa/qplatformwindow.h>
+#include <QMutex>
QT_BEGIN_NAMESPACE
@@ -106,6 +107,7 @@ private:
QWaylandShmBuffer *mBackBuffer;
bool mFrontBufferIsDirty;
bool mPainting;
+ QMutex mMutex;
QSize mRequestedSize;
Qt::WindowFlags mCurrentWindowFlags;