diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-10-17 21:09:24 +0200 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-10-18 10:42:48 +0200 |
commit | 1f66d914e435e733a7741e6b98abf92594122c01 (patch) | |
tree | a6416f86826c78c45fa2ec172f7816bcf9e4071f /src/gui/kernel/qevent.cpp | |
parent | 73f9c514dc01e26735b7162756ee6344ea9ac025 (diff) | |
download | qtbase-1f66d914e435e733a7741e6b98abf92594122c01.tar.gz |
QMutableEventPoint::detach: deref old private
After detaching, the current QMutableEventPoint obviously doesn't
reference old QMutableEventPointPrivate anymore. Deref it, so that we
do not leak memory.
Change-Id: I3b59667603d41f452eead9a2db13e1d005f622ec
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/gui/kernel/qevent.cpp')
-rw-r--r-- | src/gui/kernel/qevent.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index d34b74d9d0..5a539ccaf6 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -479,8 +479,10 @@ void QMutableEventPoint::detach() if (d->refCount == 1) return; // no need: there is only one QEventPoint using it qCDebug(lcEPDetach) << "detaching: refCount" << d->refCount << this; + auto old = d; d = new QEventPointPrivate(*d); d->refCount = 1; + --old->refCount; } /*! \internal |