From 3f23d27dd5b0589b3ea47faffd137e6d6ddeb805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Mon, 6 Jan 2020 12:08:49 +0100 Subject: [PATCH] Use QPointer for QWindow pointers in QGuiApplication MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Guard against stale pointers; Use QPointer instead of raw pointers for QGuiApplicationPrivate state variables. Change-Id: Ie4f980f13dafe9729c1898b8fac7d26a87d2ca59 Fixes: QTBUG-80355 Reviewed-by: Tor Arne Vestbø --- src/gui/kernel/qguiapplication.cpp | 6 +++--- src/gui/kernel/qguiapplication_p.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 142e0c095d0..0e8abe76ce5 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -140,7 +140,7 @@ Qt::KeyboardModifiers QGuiApplicationPrivate::modifier_buttons = Qt::NoModifier; QPointF QGuiApplicationPrivate::lastCursorPosition(qInf(), qInf()); -QWindow *QGuiApplicationPrivate::currentMouseWindow = 0; +QPointer QGuiApplicationPrivate::currentMouseWindow; QString QGuiApplicationPrivate::styleOverride; @@ -185,7 +185,7 @@ int QGuiApplicationPrivate::mousePressY = 0; static int mouseDoubleClickDistance = -1; static int touchDoubleTapDistance = -1; -QWindow *QGuiApplicationPrivate::currentMousePressWindow = 0; +QPointer QGuiApplicationPrivate::currentMousePressWindow; static Qt::LayoutDirection layout_direction = Qt::LayoutDirectionAuto; static bool force_reverse = false; @@ -201,7 +201,7 @@ QClipboard *QGuiApplicationPrivate::qt_clipboard = 0; QList QGuiApplicationPrivate::screen_list; QWindowList QGuiApplicationPrivate::window_list; -QWindow *QGuiApplicationPrivate::focus_window = 0; +QPointer QGuiApplicationPrivate::focus_window; static QBasicMutex applicationFontMutex; QFont *QGuiApplicationPrivate::app_font = 0; diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index 482d45e5c3b..217b62725cd 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -212,8 +212,8 @@ public: static int mousePressX; static int mousePressY; static QPointF lastCursorPosition; - static QWindow *currentMouseWindow; - static QWindow *currentMousePressWindow; + static QPointer currentMouseWindow; + static QPointer currentMousePressWindow; static Qt::ApplicationState applicationState; static bool highDpiScalingUpdated; static QPointer currentDragWindow; @@ -234,7 +234,7 @@ public: static QPalette *app_pal; static QWindowList window_list; - static QWindow *focus_window; + static QPointer focus_window; #ifndef QT_NO_CURSOR QList cursor_list;