diff --git a/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx b/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx index 99e0779a571dd5ebcb88e8b87d1a9f51f7b44290..3fa73b3298cd958948aad992c45e20821d23b33b 100644 --- a/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx +++ b/Modules/Wrappers/QtWidget/src/otbApplicationLauncherQt.cxx @@ -103,5 +103,12 @@ int main(int argc, char* argv[]) mainWindow->show(); // Start event processing loop - return qtApp.exec(); + int ret = qtApp.exec(); + + // Clean resources + if (mainWindow) delete mainWindow; + app = ITK_NULLPTR; + ApplicationRegistry::CleanRegistry(); + + return ret; } diff --git a/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetShowWidget.cxx b/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetShowWidget.cxx index 21067b3270fd1a8c5311136271a49a97fb3e3837..c19a43065bf43682d6355212ea8247f89e055582 100644 --- a/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetShowWidget.cxx +++ b/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetShowWidget.cxx @@ -104,6 +104,8 @@ int otbWrapperQtWidgetShowWidget(int argc, char* argv[]) // clean main window if (mainWindow) delete mainWindow; } + + ApplicationRegistry::CleanRegistry(); if (result) {