X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fgui_thread.h;h=cb9c1860f2486fbea705646610136b6c2f8069f7;hb=cba3ca64b359b32909bc29f5fe75e8e2fd9c83d8;hp=ef129ad46de9605498d3ea5632a47b7eba5747fd;hpb=87726495c30f90554b5204b5385d17274a8fe93e;p=ardour.git diff --git a/gtk2_ardour/gui_thread.h b/gtk2_ardour/gui_thread.h index ef129ad46d..cb9c1860f2 100644 --- a/gtk2_ardour/gui_thread.h +++ b/gtk2_ardour/gui_thread.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 Paul Davis + Copyright (C) 2000-2007 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,17 +20,14 @@ #ifndef __ardour_gtk_gui_thread_h__ #define __ardour_gtk_gui_thread_h__ +#include #include -#include +#include +#include -#define ENSURE_GUI_THREAD(slot) \ - if (!Gtkmm2ext::UI::instance()->caller_is_ui_thread()) {\ - Gtkmm2ext::UI::instance()->call_slot ((slot));\ - return;\ - } +#define ENSURE_GUI_THREAD(obj,method, ...) if (!Gtkmm2ext::UI::instance()->caller_is_self()) { abort (); } -#define GTK_SAFE(theSlot) crossthread_safe (Gtkmm2ext::UI::instance()->thread_id(),\ - *Gtkmm2ext::UI::instance(), \ - (theSlot)) +#define gui_context() Gtkmm2ext::UI::instance() /* a UICallback-derived object that specifies the event loop for GUI signal handling */ +#define ui_bind(f, ...) boost::protect (boost::bind (f, __VA_ARGS__)) #endif /* __ardour_gtk_gui_thread_h__ */