summaryrefslogtreecommitdiff
path: root/glib/src/thread.ccg
diff options
context:
space:
mode:
Diffstat (limited to 'glib/src/thread.ccg')
-rw-r--r--glib/src/thread.ccg4
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;