summaryrefslogtreecommitdiff
path: root/src/bookmarks
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2010-10-13 21:17:47 +0200
committerAndrea Diamantini <adjam7@gmail.com>2010-10-13 21:17:47 +0200
commit5f86ee52cabf6f744dfe331539e1792877696aec (patch)
tree21818c8b9272e2cd0d5cac088621a5dbb5b9d4cd /src/bookmarks
parent- get rid of the selected bookmark in BookmarkOwner (diff)
parentFix mem leak, due to kbookmarkmenu class. (diff)
downloadrekonq-5f86ee52cabf6f744dfe331539e1792877696aec.tar.xz
Merge branch 'bkmenuleak'
Diffstat (limited to 'src/bookmarks')
-rw-r--r--src/bookmarks/bookmarkprovider.cpp11
-rw-r--r--src/bookmarks/bookmarkprovider.h6
-rw-r--r--src/bookmarks/bookmarkstoolbar.cpp1
-rw-r--r--src/bookmarks/bookmarkstoolbar.h3
4 files changed, 15 insertions, 6 deletions
diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp
index beca5475..ccdc3269 100644
--- a/src/bookmarks/bookmarkprovider.cpp
+++ b/src/bookmarks/bookmarkprovider.cpp
@@ -97,6 +97,7 @@ BookmarkProvider::BookmarkProvider(QObject *parent)
BookmarkProvider::~BookmarkProvider()
{
+ qDeleteAll(m_bookmarkMenus);
delete m_manager;
}
@@ -109,8 +110,9 @@ KActionMenu* BookmarkProvider::bookmarkActionMenu(QWidget *parent)
KActionMenu *bookmarkActionMenu = new KActionMenu(menu);
bookmarkActionMenu->setMenu(menu);
bookmarkActionMenu->setText(i18n("&Bookmarks"));
- new BookmarkMenu(m_manager, m_owner, menu, m_actionCollection);
-
+ BookmarkMenu *bMenu = new BookmarkMenu(m_manager, m_owner, menu, m_actionCollection);
+ m_bookmarkMenus.append(bMenu);
+
kDebug() << "new Bookmarks menu... DONE";
return bookmarkActionMenu;
@@ -222,8 +224,9 @@ void BookmarkProvider::fillBookmarkBar(BookmarkToolBar *toolBar)
{
KBookmarkActionMenu *menuAction = new KBookmarkActionMenu(bookmark.toGroup(), this);
menuAction->setDelayed(false);
- new BookmarkMenu(bookmarkManager(), bookmarkOwner(), menuAction->menu(), bookmark.address());
-
+ BookmarkMenu *bMenu = new BookmarkMenu(bookmarkManager(), bookmarkOwner(), menuAction->menu(), bookmark.address());
+ m_bookmarkMenus.append(bMenu);
+
connect(menuAction->menu(), SIGNAL(aboutToShow()), toolBar, SLOT(menuDisplayed()));
connect(menuAction->menu(), SIGNAL(aboutToHide()), toolBar, SLOT(menuHidden()));
diff --git a/src/bookmarks/bookmarkprovider.h b/src/bookmarks/bookmarkprovider.h
index 3f7a5c52..9089441d 100644
--- a/src/bookmarks/bookmarkprovider.h
+++ b/src/bookmarks/bookmarkprovider.h
@@ -41,6 +41,7 @@
class BookmarksPanel;
class BookmarkToolBar;
class BookmarkOwner;
+class BookmarkMenu;
class KAction;
class KActionCollection;
@@ -143,8 +144,9 @@ private:
KBookmarkManager *m_manager;
BookmarkOwner *m_owner;
KActionCollection *m_actionCollection;
- QList<BookmarkToolBar*> m_bookmarkToolBars;
- QList<BookmarksPanel*> m_bookmarkPanels;
+ QList<BookmarkToolBar *> m_bookmarkToolBars;
+ QList<BookmarksPanel *> m_bookmarkPanels;
+ QList<BookmarkMenu *> m_bookmarkMenus;
};
diff --git a/src/bookmarks/bookmarkstoolbar.cpp b/src/bookmarks/bookmarkstoolbar.cpp
index 74f400d1..4449d926 100644
--- a/src/bookmarks/bookmarkstoolbar.cpp
+++ b/src/bookmarks/bookmarkstoolbar.cpp
@@ -62,6 +62,7 @@ BookmarkMenu::BookmarkMenu(KBookmarkManager *manager,
BookmarkMenu::~BookmarkMenu()
{
+ kDebug() << "Deleting BookmarkMenu.. See http://svn.reviewboard.kde.org/r/5606/ about.";
}
diff --git a/src/bookmarks/bookmarkstoolbar.h b/src/bookmarks/bookmarkstoolbar.h
index b1e2a555..dee75310 100644
--- a/src/bookmarks/bookmarkstoolbar.h
+++ b/src/bookmarks/bookmarkstoolbar.h
@@ -28,6 +28,9 @@
#define BOOKMARKSTOOLBAR_H
+// Rekonq Includes
+#include "rekonq_defines.h"
+
// KDE Includes
#include <KBookmarkMenu>