diff options
Diffstat (limited to 'glib/src/thread.ccg')
-rw-r--r-- | glib/src/thread.ccg | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/glib/src/thread.ccg b/glib/src/thread.ccg index a041e35e..962311fb 100644 --- a/glib/src/thread.ccg +++ b/glib/src/thread.ccg @@ -32,10 +32,13 @@ static void* call_thread_entry_slot(void* data) { sigc::slot_base *const slot = reinterpret_cast<sigc::slot_base*>(data); + #ifdef GLIBMM_EXCEPTIONS_ENABLED try { + #endif //GLIBMM_EXCEPTIONS_ENABLED // Recreate the specific slot, and drop the reference obtained by create(). (*static_cast<sigc::slot<void>*>(slot))(); + #ifdef GLIBMM_EXCEPTIONS_ENABLED } catch(Glib::Thread::Exit&) { @@ -46,6 +49,7 @@ static void* call_thread_entry_slot(void* data) { Glib::exception_handlers_invoke(); } + #endif //GLIBMM_EXCEPTIONS_ENABLED delete slot; return 0; |