From b73ed8eba98f8a038e10c8f5f3ef6b2e432e01c1 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Sun, 9 Nov 2014 18:08:29 +0100 Subject: Use deleteLater() to delete the selection toggle in KItemListWidget This patch should make a crash with a backtrace as provided in the bug report impossible. I'm not sure if this would really prevent the crash - it looks like the actual cause of the problem could be in QGraphicsView or anywhere else, but it's hard to tell because the bug was reported just once and does not seem reproducible. But I'm pretty sure that this change doesn't make anything worse. BUG: 334785 REVIEW: 121087 --- src/kitemviews/kitemlistwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/kitemviews/kitemlistwidget.cpp') diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index e7d2951b9..46b75588f 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -474,7 +474,7 @@ qreal KItemListWidget::hoverOpacity() const void KItemListWidget::slotHoverAnimationFinished() { if (!m_hovered) { - delete m_selectionToggle; + m_selectionToggle->deleteLater(); m_selectionToggle = 0; } } -- cgit v1.3 From 7e58ee0133618453441d14d1305d3f1498c9606f Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Sun, 9 Nov 2014 21:57:40 +0100 Subject: Make sure that m_selectionToggle is not 0 before calling deleteLater() Commit 1938ad54d4ee640f04d24bad3b690095bc9b8668 replaced delete by deleteLater(). However, the latter cannot be used safely with null pointers. This commit adds a safety check in order to make sure that we do not get a crash. Thanks to Christoph Feck for pointing out this issue. --- src/kitemviews/kitemlistwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/kitemviews/kitemlistwidget.cpp') diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index 46b75588f..97a14763c 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -473,7 +473,7 @@ qreal KItemListWidget::hoverOpacity() const void KItemListWidget::slotHoverAnimationFinished() { - if (!m_hovered) { + if (!m_hovered && m_selectionToggle) { m_selectionToggle->deleteLater(); m_selectionToggle = 0; } -- cgit v1.3