From cac7734bd0439abb40cf5bdf903335e57a0f017c Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Mon, 21 Jan 2013 02:30:50 +0100 Subject: menu/application: add free to allow multiple runs free() is used to reset the instance of this singleton, so that it gets recreated on the next access. This allows multiple creation/deletion cycles (for example in the tests). --- src/main.cpp | 2 +- src/menu/application.cpp | 6 ++++++ src/menu/application.hpp | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index a7f7e2b6..9e1ba84b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -28,7 +28,7 @@ int main (int argc, char** argv) { usdx::Application::get_instance()->run(); - delete usdx::Application::get_instance(); + usdx::Application::free(); return EXIT_SUCCESS; } diff --git a/src/menu/application.cpp b/src/menu/application.cpp index f4802220..f9be797f 100644 --- a/src/menu/application.cpp +++ b/src/menu/application.cpp @@ -81,6 +81,12 @@ namespace usdx return instance; } + void Application::free(void) + { + delete instance; + instance = NULL; + } + Config* Application::get_config(void) { return get_instance()->config; diff --git a/src/menu/application.hpp b/src/menu/application.hpp index 78b4e01d..c6eea5c8 100644 --- a/src/menu/application.hpp +++ b/src/menu/application.hpp @@ -67,6 +67,8 @@ namespace usdx virtual ~Application(); static Application* get_instance(void); + static void free(void); + static Config* get_config(void); static bool is_gl_thread(void); -- cgit v1.2.3