diff --git a/src/gui/console/ConsoleController.cpp b/src/gui/console/ConsoleController.cpp index 0a31c798f..47a4d0327 100644 --- a/src/gui/console/ConsoleController.cpp +++ b/src/gui/console/ConsoleController.cpp @@ -71,8 +71,10 @@ ConsoleView * ConsoleController::GetView() ConsoleController::~ConsoleController() { - consoleView->CloseActiveWindow(); delete consoleModel; - delete consoleView; + if (consoleView->CloseActiveWindow()) + { + delete consoleView; + } } diff --git a/src/gui/localbrowser/LocalBrowserController.cpp b/src/gui/localbrowser/LocalBrowserController.cpp index 79674d58c..1f0092117 100644 --- a/src/gui/localbrowser/LocalBrowserController.cpp +++ b/src/gui/localbrowser/LocalBrowserController.cpp @@ -141,8 +141,10 @@ void LocalBrowserController::Exit() LocalBrowserController::~LocalBrowserController() { - browserView->CloseActiveWindow(); delete browserModel; - delete browserView; + if (browserView->CloseActiveWindow()) + { + delete browserView; + } } diff --git a/src/gui/login/LoginController.cpp b/src/gui/login/LoginController.cpp index 5a02b3c5a..4dc72ed73 100644 --- a/src/gui/login/LoginController.cpp +++ b/src/gui/login/LoginController.cpp @@ -39,8 +39,10 @@ void LoginController::Exit() LoginController::~LoginController() { - loginView->CloseActiveWindow(); delete loginModel; - delete loginView; + if (loginView->CloseActiveWindow()) + { + delete loginView; + } } diff --git a/src/gui/options/OptionsController.cpp b/src/gui/options/OptionsController.cpp index 15393233a..f3c338378 100644 --- a/src/gui/options/OptionsController.cpp +++ b/src/gui/options/OptionsController.cpp @@ -149,8 +149,10 @@ void OptionsController::Exit() OptionsController::~OptionsController() { - view->CloseActiveWindow(); delete model; - delete view; + if (view->CloseActiveWindow()) + { + delete view; + } } diff --git a/src/gui/preview/PreviewController.cpp b/src/gui/preview/PreviewController.cpp index 58d2d33c9..bd5116638 100644 --- a/src/gui/preview/PreviewController.cpp +++ b/src/gui/preview/PreviewController.cpp @@ -171,8 +171,10 @@ void PreviewController::Exit() PreviewController::~PreviewController() { - previewView->CloseActiveWindow(); Client::Ref().RemoveListener(this); delete previewModel; - delete previewView; + if (previewView->CloseActiveWindow()) + { + delete previewView; + } } diff --git a/src/gui/render/RenderController.cpp b/src/gui/render/RenderController.cpp index 4c5b4c04b..9c2842dbe 100644 --- a/src/gui/render/RenderController.cpp +++ b/src/gui/render/RenderController.cpp @@ -58,8 +58,10 @@ void RenderController::Exit() RenderController::~RenderController() { - renderView->CloseActiveWindow(); delete renderModel; - delete renderView; + if (renderView->CloseActiveWindow()) + { + delete renderView; + } } diff --git a/src/gui/search/SearchController.cpp b/src/gui/search/SearchController.cpp index 706c266c2..2d94d5f7c 100644 --- a/src/gui/search/SearchController.cpp +++ b/src/gui/search/SearchController.cpp @@ -85,9 +85,11 @@ void SearchController::Exit() SearchController::~SearchController() { delete activePreview; - searchView->CloseActiveWindow(); delete searchModel; - delete searchView; + if (searchView->CloseActiveWindow()) + { + delete searchView; + } } void SearchController::DoSearch(String query, bool now) diff --git a/src/gui/tags/TagsController.cpp b/src/gui/tags/TagsController.cpp index 4a28f5e3f..428954625 100644 --- a/src/gui/tags/TagsController.cpp +++ b/src/gui/tags/TagsController.cpp @@ -46,8 +46,10 @@ void TagsController::Exit() TagsController::~TagsController() { - tagsView->CloseActiveWindow(); delete tagsModel; - delete tagsView; + if (tagsView->CloseActiveWindow()) + { + delete tagsView; + } }