diff options
author | Morten Johan Sørvig <morten.sorvig@qt.io> | 2020-01-06 12:08:49 +0100 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2020-01-14 15:11:42 +0000 |
commit | 3f23d27dd5b0589b3ea47faffd137e6d6ddeb805 (patch) | |
tree | d59a27af043d66cf3697a3b0b4a67e8c2a5db58c /src | |
parent | cb5f69882e114bc556ba295146a99fc86310664b (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.cpp | 6 | ||||
-rw-r--r-- | 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 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; |