r18967 - gnucash/trunk/src/gnc - Cutecash: Fix memory leak of missing cleanup of RecentFileMenu object.
Christian Stimming
cstim at code.gnucash.org
Sat Mar 27 06:24:07 EDT 2010
Author: cstim
Date: 2010-03-27 06:24:07 -0400 (Sat, 27 Mar 2010)
New Revision: 18967
Trac: http://svn.gnucash.org/trac/changeset/18967
Modified:
gnucash/trunk/src/gnc/mainwindow.cpp
gnucash/trunk/src/gnc/mainwindow.hpp
Log:
Cutecash: Fix memory leak of missing cleanup of RecentFileMenu object.
Modified: gnucash/trunk/src/gnc/mainwindow.cpp
===================================================================
--- gnucash/trunk/src/gnc/mainwindow.cpp 2010-03-26 19:15:56 UTC (rev 18966)
+++ gnucash/trunk/src/gnc/mainwindow.cpp 2010-03-27 10:24:07 UTC (rev 18967)
@@ -77,6 +77,7 @@
MainWindow::MainWindow()
: ui(new Ui::MainWindow)
+ , m_menuRecentFiles(new RecentFileMenu(tr("Open &Recent")))
, m_undoStack(new QUndoStack(this))
{
ui->setupUi(this);
@@ -98,7 +99,6 @@
MainWindow::~MainWindow()
{
- delete ui;
if (m_session.get())
{
qof_session_destroy(m_session.get());
@@ -225,9 +225,8 @@
void MainWindow::createToolBars()
{
- menuRecentFiles = new RecentFileMenu(tr("Open &Recent"));
- ui->menuFile->insertMenu(ui->actionSave, menuRecentFiles);
- connect(menuRecentFiles, SIGNAL(fileSelected(const QString &)),
+ ui->menuFile->insertMenu(ui->actionSave, m_menuRecentFiles.data());
+ connect(m_menuRecentFiles.data(), SIGNAL(fileSelected(const QString &)),
this, SLOT(loadFileMaybe(const QString&)));
m_fileToolBar = addToolBar(tr("File"));
@@ -256,7 +255,7 @@
QSize size = settings.value("size", QSize(400, 400)).toSize();
resize(size);
move(pos);
- menuRecentFiles->readSettings(&settings, "RecentFiles");
+ m_menuRecentFiles->readSettings(&settings, "RecentFiles");
}
void MainWindow::writeSettings()
@@ -264,7 +263,7 @@
QSettings settings("gnucash.org", "Cutecash");
settings.setValue("pos", pos());
settings.setValue("size", size());
- menuRecentFiles->writeSettings(&settings, "RecentFiles");
+ m_menuRecentFiles->writeSettings(&settings, "RecentFiles");
}
bool MainWindow::maybeSave()
@@ -286,7 +285,7 @@
void MainWindow::setCurrentFile(const QString &fileName)
{
- menuRecentFiles->usingFile(fileName);
+ m_menuRecentFiles->usingFile(fileName);
m_currentFilename = fileName;
documentCleanStateChanged(true);
Modified: gnucash/trunk/src/gnc/mainwindow.hpp
===================================================================
--- gnucash/trunk/src/gnc/mainwindow.hpp 2010-03-26 19:15:56 UTC (rev 18966)
+++ gnucash/trunk/src/gnc/mainwindow.hpp 2010-03-27 10:24:07 UTC (rev 18967)
@@ -25,6 +25,7 @@
#include <QMainWindow>
#include <QItemSelection>
+#include <QSharedPointer>
#include "gnc/Session.hpp"
#include "gnc/AccountItemModel.hpp"
@@ -112,7 +113,7 @@
const QString& newfile,
GNCFileDialogType type);
- Ui::MainWindow *ui;
+ QSharedPointer<Ui::MainWindow> ui;
QString m_currentFilename;
@@ -120,7 +121,7 @@
QToolBar *m_editToolBar;
QAction *m_actionUndo;
QAction *m_actionRedo;
- RecentFileMenu *menuRecentFiles;
+ QSharedPointer<RecentFileMenu> m_menuRecentFiles;
QUndoStack *m_undoStack;
Session m_session;
More information about the gnucash-changes
mailing list