From 2bba4134fbf7f6bd1d258e875a993d80e9b06ef2 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 15 Oct 2014 18:11:18 +0200 Subject: [PATCH] owncloudgui: Fix a small leak The systray icon were not destroyed while qutting --- src/mirall/owncloudgui.cpp | 7 +++---- src/mirall/owncloudgui.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index 80cb3b43e9..af9922ca07 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -50,7 +50,6 @@ ownCloudGui::ownCloudGui(Application *parent) : _settingsDialog(new SettingsDialog(this)), #endif _logBrowser(0), - _contextMenu(0), _recentActionsMenu(0), _folderOpenActionMapper(new QSignalMapper(this)), _recentItemsMapper(new QSignalMapper(this)), @@ -303,11 +302,11 @@ void ownCloudGui::setupContextMenu() _recentActionsMenu->addAction(tr("None.")); _recentActionsMenu->addAction(_actionRecent); } else { - _contextMenu = new QMenu(_contextMenu); - _recentActionsMenu = new QMenu(tr("Recent Changes")); + _contextMenu.reset(new QMenu()); + _recentActionsMenu = new QMenu(tr("Recent Changes"), _contextMenu.data()); // this must be called only once after creating the context menu, or // it will trigger a bug in Ubuntu's SNI bridge patch (11.10, 12.04). - _tray->setContextMenu(_contextMenu); + _tray->setContextMenu(_contextMenu.data()); } _contextMenu->setTitle(Theme::instance()->appNameGUI() ); _contextMenu->addAction(_actionOpenoC); diff --git a/src/mirall/owncloudgui.h b/src/mirall/owncloudgui.h index c042c23fd4..8d0af8e396 100644 --- a/src/mirall/owncloudgui.h +++ b/src/mirall/owncloudgui.h @@ -85,7 +85,7 @@ private: #endif QPointer_logBrowser; // tray's menu - QMenu *_contextMenu; + QScopedPointer _contextMenu; QMenu *_recentActionsMenu; QAction *_actionLogin;