diff options
-rw-r--r-- | vcl/inc/unx/gtk/gtkinst.hxx | 3 | ||||
-rw-r--r-- | vcl/unx/gtk/app/gtkinst.cxx | 24 |
2 files changed, 11 insertions, 16 deletions
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx index b8f530c498a0..eb6531853d80 100644 --- a/vcl/inc/unx/gtk/gtkinst.hxx +++ b/vcl/inc/unx/gtk/gtkinst.hxx @@ -38,6 +38,7 @@ class GtkPrintWrapper; class GenPspGraphics; class GtkYieldMutex : public SalYieldMutex { + std::list<sal_uLong> aYieldStack; public: GtkYieldMutex(); virtual void acquire(); @@ -47,8 +48,6 @@ public: virtual int Grab() { return 0; }; virtual void Ungrab(int ) {}; - std::list<sal_uLong> aYieldStack; - void ThreadsEnter(); void ThreadsLeave(); diff --git a/vcl/unx/gtk/app/gtkinst.cxx b/vcl/unx/gtk/app/gtkinst.cxx index af80678a8829..1bb4bed482a8 100644 --- a/vcl/unx/gtk/app/gtkinst.cxx +++ b/vcl/unx/gtk/app/gtkinst.cxx @@ -61,18 +61,6 @@ extern "C" GtkYieldMutex *pYieldMutex = GET_YIELD_MUTEX(); pYieldMutex->ThreadsLeave(); } - static bool hookLocks( void ) - { -#if !GTK_CHECK_VERSION(2,4,0) -#error No lock hooking! -#endif - gdk_threads_set_lock_functions (GdkThreadsEnter, GdkThreadsLeave); - -#if OSL_DEBUG_LEVEL > 1 - fprintf( stderr, "Hooked gdk threads locks\n" ); -#endif - return true; - } VCLPLUG_GTK_PUBLIC SalInstance* create_SalInstance( oslModule ) { @@ -113,8 +101,16 @@ extern "C" if ( !g_thread_supported() ) g_thread_init( NULL ); - if ( hookLocks() ) - pYieldMutex = new GtkYieldMutex(); +#if !GTK_CHECK_VERSION(2,4,0) +#error "Requires gtk 2.4.0+ for lock hooking" +#endif + gdk_threads_set_lock_functions (GdkThreadsEnter, GdkThreadsLeave); + +#if OSL_DEBUG_LEVEL > 1 + fprintf( stderr, "Hooked gdk threads locks\n" ); +#endif + + pYieldMutex = new GtkYieldMutex(); gdk_threads_init(); |