summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-04-12 11:06:30 +0100
committerMichael Meeks <michael.meeks@suse.com>2013-04-12 11:07:16 +0100
commit6a0757f0e0fb4fe4b837f44b2bc9ca6455fa1c5d (patch)
tree7ebdbb4f055f04302edb57ca889a8a0644c12d09
parent0754dde7aa38317522a3d2aa0be7fe364b878644 (diff)
fdo#60690 - a little more cleanup of gtk+ mutex bits.
Change-Id: I020d6f59751aef0bfb06667317ddcaf2965395d1
-rw-r--r--vcl/inc/unx/gtk/gtkinst.hxx3
-rw-r--r--vcl/unx/gtk/app/gtkinst.cxx24
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();