From dccc32006217247d6105a64f5e2e2239d69943e5 Mon Sep 17 00:00:00 2001 From: "Sandro S. Andrade" Date: Tue, 26 Nov 2013 20:47:04 -0300 Subject: Fix more memory leak problems Change-Id: I6d7d7026b1ca7fa2cb6529aef67449734fc9c9f1 Reviewed-by: Sandro S. Andrade --- examples/uml/duse-mt/src/app/shell/projectcontroller.cpp | 1 + examples/uml/duse-mt/src/app/shell/uicontroller.cpp | 1 + .../duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp | 7 +++++++ .../uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h | 1 + 4 files changed, 10 insertions(+) (limited to 'examples/uml') diff --git a/examples/uml/duse-mt/src/app/shell/projectcontroller.cpp b/examples/uml/duse-mt/src/app/shell/projectcontroller.cpp index 1718d1ee..53309b55 100644 --- a/examples/uml/duse-mt/src/app/shell/projectcontroller.cpp +++ b/examples/uml/duse-mt/src/app/shell/projectcontroller.cpp @@ -57,6 +57,7 @@ ProjectController::ProjectController() ProjectController::~ProjectController() { + qDeleteAll(_currentModelElements); } bool ProjectController::initialize() diff --git a/examples/uml/duse-mt/src/app/shell/uicontroller.cpp b/examples/uml/duse-mt/src/app/shell/uicontroller.cpp index d2e98b1e..ea488cd4 100644 --- a/examples/uml/duse-mt/src/app/shell/uicontroller.cpp +++ b/examples/uml/duse-mt/src/app/shell/uicontroller.cpp @@ -118,6 +118,7 @@ void UiController::addAction(QAction *action, const QString &menuTitle, const QS foreach (QToolBar *toolbar, _mainWindow.findChildren()) if (toolbar->objectName() == toolbarName) toolbar->addAction(action); + action->setParent(&_mainWindow); } } diff --git a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp index 51b21c80..8e308994 100644 --- a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp @@ -74,6 +74,12 @@ ModelInspectorPlugin::ModelInspectorPlugin(QObject *parent) : _outputIssues->setPalette(outputIssuesPallete); } +ModelInspectorPlugin::~ModelInspectorPlugin() +{ + delete _outputIssues->model(); + delete _outputIssues; +} + bool ModelInspectorPlugin::initialize(DuSE::ICore *core) { core->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Model Inspector"), _modelingObjectView); @@ -93,6 +99,7 @@ bool ModelInspectorPlugin::initialize(DuSE::ICore *core) void ModelInspectorPlugin::populateOutputIssues() { + delete _outputIssues->model(); _outputIssues->setModel(new QStringListModel(DuSE::ICore::self()->projectController()->errorStrings())); } diff --git a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h index 2ba1eae6..4cabb9b1 100644 --- a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h +++ b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h @@ -57,6 +57,7 @@ class ModelInspectorPlugin : public DuSE::IPlugin public: ModelInspectorPlugin(QObject *parent = 0); + virtual ~ModelInspectorPlugin(); virtual bool initialize(DuSE::ICore *core); -- cgit v1.2.3