diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2014-09-15 16:23:02 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2014-09-15 20:50:50 +0200 |
commit | b2b9fdfda0f7838059d7e826d81740977ef35a6e (patch) | |
tree | ed65536f27f5bcfe984ca18f69974e317a3bc148 /src | |
parent | 0fa0608f707306cb34a9ca91952cebbac25065a5 (diff) |
QSizeGrip: use a QPointer to the tracked TLW
And not a normal pointer. The problem is that in certain scenarios,
if the TLW containing a QSizeGrip changes and the old TLW gets
immediately destroyed, then the mechanism which updates the tracked
TLW is run too late, and ends up accessing a dangling pointer.
Therefore, we need to protect that pointer via a smart pointer.
Task-number: QTBUG-22867
Change-Id: Icfb051132bacde604f660ac7a98bc0a9d1022c68
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/widgets/qsizegrip.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/widgets/widgets/qsizegrip.cpp b/src/widgets/widgets/qsizegrip.cpp index e46de3958f..5994071bfc 100644 --- a/src/widgets/widgets/qsizegrip.cpp +++ b/src/widgets/widgets/qsizegrip.cpp @@ -83,7 +83,7 @@ public: int dyMax; Qt::Corner m_corner; bool gotMousePress; - QWidget *tlw; + QPointer<QWidget> tlw; #ifdef Q_WS_MAC void updateMacSizer(bool hide) const; #endif |