From 49ea0fc16a499514ebc0c254a983e86bcda88dd6 Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Fri, 28 Sep 2018 13:05:53 +0200 Subject: Compositor: Fix crash after surface destruction Fixes a crash due to dangling pointer dereference in QWaylandQuickItem::inputMethodQuery. Fixes: QTBUG-71745 Change-Id: Id379779f23221e7de17423f75c3d78d7e794b7b9 Reviewed-by: Paul Olav Tvete (cherry picked from commit d52e86e6f9bfde48b473dbe9d08e325d45388254) Reviewed-by: Andreas Cord-Landwehr --- src/compositor/compositor_api/qwaylandquickitem_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compositor/compositor_api/qwaylandquickitem_p.h b/src/compositor/compositor_api/qwaylandquickitem_p.h index f926d55e8..28b8732d3 100644 --- a/src/compositor/compositor_api/qwaylandquickitem_p.h +++ b/src/compositor/compositor_api/qwaylandquickitem_p.h @@ -154,7 +154,7 @@ public: static QMutex *mutex; QScopedPointer view; - QWaylandSurface *oldSurface = nullptr; + QPointer oldSurface; mutable QWaylandSurfaceTextureProvider *provider = nullptr; bool paintEnabled = true; bool touchEventsEnabled = true; -- cgit v1.2.3 From fa57079a227b92218c5b23dafdcb7f547acb635d Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Wed, 7 Nov 2018 14:19:04 +0100 Subject: Don't crash if view is deleted from surfaceDestroyed signal Fix regression introduced in 297bcd005c4205f69e1bf9e9dc565ab757cf0bac Fixes: QTBUG-71643 Change-Id: I769518a9ca13fcd13ea277c7fa8ac1885ca123ba Reviewed-by: Johan Helsing (cherry picked from commit f890798053c7fa692bff7f8a3e96583dfcaba0cb) Reviewed-by: Paul Olav Tvete --- src/compositor/compositor_api/qwaylandview.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compositor/compositor_api/qwaylandview.cpp b/src/compositor/compositor_api/qwaylandview.cpp index 127593770..1a6bf1a64 100644 --- a/src/compositor/compositor_api/qwaylandview.cpp +++ b/src/compositor/compositor_api/qwaylandview.cpp @@ -56,8 +56,10 @@ void QWaylandViewPrivate::markSurfaceAsDestroyed(QWaylandSurface *surface) Q_ASSERT(surface == this->surface); setSurface(nullptr); + QPointer deleteGuard(q); emit q->surfaceDestroyed(); - clearFrontBuffer(); + if (!deleteGuard.isNull()) + clearFrontBuffer(); } /*! -- cgit v1.2.3 From 9ce3088d226fddc18bcac170fa5cc5be3c29e371 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Fri, 16 Nov 2018 09:22:24 +0200 Subject: Add changes file for Qt 5.11.3 + 53dff95bfbe9070c4cd17045f3d5147f29710c5f Compositor: Fix OpenGL textures deleted prematurely + c3b6c4d442c8187e43601c548bc58ce3e4fe21f3 Compositor: Don't send illegal leave events + 297bcd005c4205f69e1bf9e9dc565ab757cf0bac Don't destroy buffer before surfaceDestroyed signal + dccec9b282ae15fa65fd61698dd1cb47325e5c8e Bump version Change-Id: I548d049f958038a358982cc9470654cead9f05df Reviewed-by: Paul Olav Tvete --- dist/changes-5.11.3 | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 dist/changes-5.11.3 diff --git a/dist/changes-5.11.3 b/dist/changes-5.11.3 new file mode 100644 index 000000000..c3f1060b9 --- /dev/null +++ b/dist/changes-5.11.3 @@ -0,0 +1,30 @@ +Qt 5.11.3 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.11.0 through 5.11.2. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +http://doc.qt.io/qt-5/index.html + +The Qt version 5.11 series is binary compatible with the 5.10.x series. +Applications compiled for 5.10 will continue to run with 5.11. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Compositor * +**************************************************************************** + + - [QTBUG-70163] Fixed a bug where destroying a WaylandQuickItem would + delete the OpenGL texture for all other WaylandQuickItems using that + surface. + - Fixed a bug that caused some clients to abort in libwayland when a + surface left an output. + - [QTBUG-69384] QWaylandView::surfaceDestroyed is now emitted before the + surface is destroyed, fixing close animations. -- cgit v1.2.3