fdo#60690 - a little more cleanup of gtk+ mutex bits.

Change-Id: I020d6f59751aef0bfb06667317ddcaf2965395d1
This commit is contained in:
Michael Meeks
2013-04-12 11:06:30 +01:00
parent 0754dde7aa
commit 6a0757f0e0
2 changed files with 11 additions and 16 deletions

View File

@@ -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();

View File

@@ -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();