From 9cb96b7ddded318c9ef967865f67d6b8d5cfd01a Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 14 Mar 2013 19:06:41 +0100 Subject: Fix GUI crash on close. --- plugingui/plugingui.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'plugingui/plugingui.cc') diff --git a/plugingui/plugingui.cc b/plugingui/plugingui.cc index 7e4bb59..3fb5984 100644 --- a/plugingui/plugingui.cc +++ b/plugingui/plugingui.cc @@ -141,11 +141,13 @@ PluginGUI::PluginGUI(DrumGizmo *drumgizmo) #else init(); #endif/*USE_THREAD*/ + + sem.wait(); } PluginGUI::~PluginGUI() { - printf("~PluginGUI()\n"); + DEBUG(plugingui, "~PluginGUI()\n"); running = false; wait_stop(); @@ -280,6 +282,8 @@ void PluginGUI::init() fb = filebrowser; window->show(); + + sem.post(); } static bool shown = false; @@ -328,6 +332,7 @@ void PluginGUI::setChangeMidimapCallback(void (*handler)(void *, const char *), void stop(void *ptr) { + DEBUG(stop, "Stopping...\n"); bool *running = (bool*)ptr; *running = false; } @@ -350,7 +355,7 @@ int main() bool running = true; PluginGUI gui(NULL); - //gui.setWindowClosedCallback(stop, &running); + gui.setWindowClosedCallback(stop, &running); // gui.show(); @@ -358,7 +363,6 @@ int main() // gui.processEvents(); #ifdef WIN32 SleepEx(1000, FALSE); - printf("loop\n"); #else // usleep(10000); sleep(1); -- cgit v1.2.3