┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
authorDavid Hallas <[email protected]>2019-03-03 07:37:52 +0100
committerDavid Hallas <[email protected]>2019-03-10 17:41:42 +0100
commit94d7e1471e0a81b72285795ad91c4f6196157ae4 (patch)
tree0eb068b36f5e78c4eb3583f99c280bfa6e3f3529 /src/views
parent9f2bb143b5ee00eddaaebbfe83da2f2da9f18863 (diff)
Fixes leak of DolphinFileMetaDataWidget in ToolTipManager
Summary: Fixes leak of DolphinFileMetaDataWidget in ToolTipManager. The destructor of ToolTipManager failed to delete the m_fileMetaDataWidget member. This is seen at shutdown but also when you close a tab that has displayed a tooltip. Test Plan: Compile Dolphin with address sanitizer Open Dolphin Show a tooltip Close Dolphin Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D19485
Diffstat (limited to 'src/views')
-rw-r--r--src/views/tooltips/tooltipmanager.cpp9
-rw-r--r--src/views/tooltips/tooltipmanager.h2
2 files changed, 5 insertions, 6 deletions
diff --git a/src/views/tooltips/tooltipmanager.cpp b/src/views/tooltips/tooltipmanager.cpp
index bb2890138..9e79a8f70 100644
--- a/src/views/tooltips/tooltipmanager.cpp
+++ b/src/views/tooltips/tooltipmanager.cpp
@@ -82,11 +82,10 @@ void ToolTipManager::showToolTip(const KFileItem& item, const QRectF& itemRect,
// Only start the retrieving of the content, when the mouse has been over this
// item for 200 milliseconds. This prevents a lot of useless preview jobs and
// meta data retrieval, when passing rapidly over a lot of items.
- delete m_fileMetaDataWidget;
- m_fileMetaDataWidget = new DolphinFileMetaDataWidget();
- connect(m_fileMetaDataWidget, &DolphinFileMetaDataWidget::metaDataRequestFinished,
+ m_fileMetaDataWidget.reset(new DolphinFileMetaDataWidget());
+ connect(m_fileMetaDataWidget.data(), &DolphinFileMetaDataWidget::metaDataRequestFinished,
this, &ToolTipManager::slotMetaDataRequestFinished);
- connect(m_fileMetaDataWidget, &DolphinFileMetaDataWidget::urlActivated,
+ connect(m_fileMetaDataWidget.data(), &DolphinFileMetaDataWidget::urlActivated,
this, &ToolTipManager::urlActivated);
m_contentRetrievalTimer->start();
@@ -209,7 +208,7 @@ void ToolTipManager::showToolTip()
if (!m_tooltipWidget) {
m_tooltipWidget.reset(new KToolTipWidget());
}
- m_tooltipWidget->showBelow(m_itemRect, m_fileMetaDataWidget, m_transientParent);
+ m_tooltipWidget->showBelow(m_itemRect, m_fileMetaDataWidget.data(), m_transientParent);
m_toolTipRequested = false;
}
diff --git a/src/views/tooltips/tooltipmanager.h b/src/views/tooltips/tooltipmanager.h
index f6d2b7304..63c723f80 100644
--- a/src/views/tooltips/tooltipmanager.h
+++ b/src/views/tooltips/tooltipmanager.h
@@ -84,7 +84,7 @@ private:
/// Transient parent of the tooltip, mandatory on Wayland.
QWindow* m_transientParent;
- DolphinFileMetaDataWidget* m_fileMetaDataWidget;
+ QScopedPointer<DolphinFileMetaDataWidget> m_fileMetaDataWidget;
QScopedPointer<KToolTipWidget> m_tooltipWidget;
bool m_toolTipRequested;