From 4ec480ef000d60c2a177db29686b4aeb2511532f Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 7 May 2010 12:38:21 +0200 Subject: Fixes a crash and a memory leak in gesturemanager. need to remove a QGesture object pointer from an internal hash when the widget/graphicsobject gets destroyed. Task-number: QTBUG-9801 Reviewed-by: Thomas Zander --- src/gui/kernel/qgesturemanager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index 9495f40..6fad18c 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -161,8 +161,10 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ it = m_obsoleteGestures.begin(), e = m_obsoleteGestures.end(); it != e; ++it) { it.value() -= gestures; } - foreach (QGesture *g, gestures) + foreach (QGesture *g, gestures) { m_deletedRecognizers.remove(g); + m_gestureToRecognizer.remove(g); + } qDeleteAll(gestures); iter = m_objectGestures.erase(iter); } else { -- cgit v0.12