summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2020-01-06 12:08:49 +0100
committerMorten Johan Sørvig <morten.sorvig@qt.io>2020-01-14 15:11:42 +0000
commit3f23d27dd5b0589b3ea47faffd137e6d6ddeb805 (patch)
treed59a27af043d66cf3697a3b0b4a67e8c2a5db58c /src
parentcb5f69882e114bc556ba295146a99fc86310664b (diff)
Use QPointer for QWindow pointers in QGuiApplication
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ø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/gui/kernel/qguiapplication.cpp6
-rw-r--r--src/gui/kernel/qguiapplication_p.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 142e0c095d..0e8abe76ce 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<QWindow> 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<QWindow> QGuiApplicationPrivate::currentMousePressWindow;
static Qt::LayoutDirection layout_direction = Qt::LayoutDirectionAuto;
static bool force_reverse = false;
@@ -201,7 +201,7 @@ QClipboard *QGuiApplicationPrivate::qt_clipboard = 0;
QList<QScreen *> QGuiApplicationPrivate::screen_list;
QWindowList QGuiApplicationPrivate::window_list;
-QWindow *QGuiApplicationPrivate::focus_window = 0;
+QPointer<QWindow> 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 482d45e5c3..217b62725c 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<QWindow> currentMouseWindow;
+ static QPointer<QWindow> currentMousePressWindow;
static Qt::ApplicationState applicationState;
static bool highDpiScalingUpdated;
static QPointer<QWindow> currentDragWindow;
@@ -234,7 +234,7 @@ public:
static QPalette *app_pal;
static QWindowList window_list;
- static QWindow *focus_window;
+ static QPointer<QWindow> focus_window;
#ifndef QT_NO_CURSOR
QList<QCursor> cursor_list;