diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2010-10-13 21:15:31 +0200 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2010-10-13 21:15:31 +0200 | 
| commit | b75b89e99973b25db23d448703135e68472b88c6 (patch) | |
| tree | d4ab73ad50e48952de8b0339d9ef93b0ef5c7b47 /src | |
| parent | Enabling WebKit Page Cache feature: please, refers to (diff) | |
| download | rekonq-b75b89e99973b25db23d448703135e68472b88c6.tar.xz | |
Fix mem leak, due to kbookmarkmenu class.
Please, see http://svn.reviewboard.kde.org/r/5606/ about.
Diffstat (limited to 'src')
| -rw-r--r-- | src/bookmarks/bookmarkprovider.cpp | 11 | ||||
| -rw-r--r-- | src/bookmarks/bookmarkprovider.h | 6 | ||||
| -rw-r--r-- | src/bookmarks/bookmarkstoolbar.cpp | 1 | ||||
| -rw-r--r-- | src/bookmarks/bookmarkstoolbar.h | 3 | 
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 60b59a3f..33ea296e 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> | 
