--- gigedit/trunk/src/gigedit/gigedit.cpp 2009/05/10 09:35:56 1898 +++ gigedit/trunk/src/gigedit/gigedit.cpp 2012/03/04 09:01:40 2325 @@ -19,8 +19,10 @@ #include "gigedit.h" -#include +#include #include +#include + #include "mainwindow.h" #include "global.h" @@ -48,22 +50,26 @@ class Cond { private: bool pred; - Glib::Mutex mutex; - Glib::Cond cond; + Glib::Threads::Mutex mutex; + Glib::Threads::Cond cond; public: Cond() : pred(false) { } void signal() { - Glib::Mutex::Lock lock(mutex); + Glib::Threads::Mutex::Lock lock(mutex); pred = true; cond.signal(); } void wait() { - Glib::Mutex::Lock lock(mutex); + Glib::Threads::Mutex::Lock lock(mutex); while (!pred) cond.wait(mutex); } }; +#ifdef OLD_THREADS static Glib::StaticMutex mutex; +#else + static Glib::Threads::Mutex mutex; +#endif static Glib::Dispatcher* dispatcher; static GigEditState* current; @@ -113,9 +119,10 @@ textdomain(GETTEXT_PACKAGE); #endif // HAVE_GETTEXT +#ifdef OLD_THREADS // make sure thread_init() is called once and ONLY once per process if (!Glib::thread_supported()) Glib::thread_init(); - +#endif process_initialized = true; } } @@ -249,7 +256,11 @@ return keyboard_key_released_signal; } +#ifdef OLD_THREADS Glib::StaticMutex GigEditState::mutex = GLIBMM_STATIC_MUTEX_INIT; +#else +Glib::Threads::Mutex GigEditState::mutex; +#endif Glib::Dispatcher* GigEditState::dispatcher = 0; GigEditState* GigEditState::current = 0; @@ -294,7 +305,7 @@ static bool main_loop_started = false; if (!main_loop_started) { Cond initialized; - Glib::Thread::create( + Glib::Threads::Thread::create( sigc::bind(sigc::ptr_fun(&GigEditState::main_loop_run), &initialized), false);