diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-11-26 20:47:04 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-11-27 02:51:14 +0100 |
commit | dccc32006217247d6105a64f5e2e2239d69943e5 (patch) | |
tree | 68627226bb522b6eadcc5325a7da471fa9a240ca /examples/uml/duse-mt | |
parent | e99b0ee60ea0562ef8b5e33267f7e4c493c63965 (diff) |
Fix more memory leak problems
Change-Id: I6d7d7026b1ca7fa2cb6529aef67449734fc9c9f1
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml/duse-mt')
4 files changed, 10 insertions, 0 deletions
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<QToolBar *>()) 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); |