summaryrefslogtreecommitdiff
path: root/editors/openoffice.org-2-RC/files/rtld-workaround-i66667
diff options
context:
space:
mode:
authorMaho Nakata <maho@FreeBSD.org>2007-01-05 04:19:23 +0000
committerMaho Nakata <maho@FreeBSD.org>2007-01-05 04:19:23 +0000
commitc7d0a9b5a72cee6856335b0af2c6daac8d66d530 (patch)
tree1f0a6cbb025e29306c3df354bdc9b956f2533a25 /editors/openoffice.org-2-RC/files/rtld-workaround-i66667
parent- Enable terminfo again, can be turned off via WITHOUT_TERMINFO [1] (diff)
The rtld behaviour of FreeBSD >=700022 is now same as Solaris, and
workaround is pushed into rtld-workaround-i66667. Submitted by: jkim
Notes
Notes: svn path=/head/; revision=181467
Diffstat (limited to '')
-rw-r--r--editors/openoffice.org-2-RC/files/rtld-workaround-i6666755
1 files changed, 55 insertions, 0 deletions
diff --git a/editors/openoffice.org-2-RC/files/rtld-workaround-i66667 b/editors/openoffice.org-2-RC/files/rtld-workaround-i66667
new file mode 100644
index 000000000000..b73949eee465
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/rtld-workaround-i66667
@@ -0,0 +1,55 @@
+Index: vcl/unx/gtk/app/gtkinst.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/gtk/app/gtkinst.cxx,v
+retrieving revision 1.14.88.1
+diff -u -r1.14.88.1 gtkinst.cxx
+--- vcl/unx/gtk/app/gtkinst.cxx 10 Aug 2006 14:53:08 -0000 1.14.88.1
++++ vcl/unx/gtk/app/gtkinst.cxx 21 Aug 2006 05:38:21 -0000
+@@ -43,6 +43,7 @@
+ #include <plugins/gtk/atkbridge.hxx>
+
+ #include <rtl/strbuf.hxx>
++#include <rtl/ustrbuf.hxx>
+
+ #if OSL_DEBUG_LEVEL > 1
+ #include <stdio.h>
+@@ -111,13 +112,28 @@
+ GtkHookedYieldMutex *pYieldMutex = GET_YIELD_MUTEX();
+ pYieldMutex->ThreadsLeave();
+ }
+- static bool hookLocks( oslModule pModule )
++ static bool hookLocks( void )
+ {
+ typedef void (*GdkLockFn) (GCallback enter_fn, GCallback leave_fn);
+ rtl::OUString aSymbolName( RTL_CONSTASCII_USTRINGPARAM( "gdk_threads_set_lock_functions") );
+
++ /* XXX GDK library path should be set by configure. */
++ OUStringBuffer aModName( 128 );
++ aModName.appendAscii( SAL_DLLPREFIX"gdk-x11-2.0" );
++ aModName.appendAscii( SAL_DLLEXTENSION );
++ OUString aModule = aModName.makeStringAndClear();
++ oslModule aMod = osl_loadModule( aModule.pData, SAL_LOADMODULE_DEFAULT );
++
++ if ( !aMod )
++ {
++#if OSL_DEBUG_LEVEL > 1
++ fprintf( stderr, "Failed to load "SAL_DLLPREFIX"gdk-x11-2.0"SAL_DLLEXTENSION"\n" );
++#endif
++ return false;
++ }
++
+ GdkLockFn gdk_threads_set_lock_functions =
+- (GdkLockFn) osl_getFunctionSymbol( pModule, aSymbolName.pData );
++ (GdkLockFn) osl_getFunctionSymbol( aMod, aSymbolName.pData );
+ if ( !gdk_threads_set_lock_functions )
+ {
+ #if OSL_DEBUG_LEVEL > 1
+@@ -150,7 +166,7 @@
+ if ( !g_thread_supported() )
+ g_thread_init( NULL );
+
+- if ( hookLocks( pModule ) )
++ if ( hookLocks() )
+ pYieldMutex = new GtkHookedYieldMutex();
+ else
+ pYieldMutex = new GtkYieldMutex();