Alexandre Julliard : winex11.drv: Hack to disable XInitThreads when an XIM is used.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Apr 13 06:50:13 CDT 2007


Module: wine
Branch: master
Commit: 5c19285da6763795a78db95c5e82a5e24e345933
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5c19285da6763795a78db95c5e82a5e24e345933

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Apr 13 12:56:01 2007 +0200

winex11.drv: Hack to disable XInitThreads when an XIM is used.

---

 dlls/winex11.drv/x11drv_main.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index 8012c2d..15a3624 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -378,6 +378,7 @@ static BOOL process_attach(void)
 {
     Display *display;
     XVisualInfo *desktop_vi = NULL;
+    const char *env;
 
     setup_options();
 
@@ -385,7 +386,8 @@ static BOOL process_attach(void)
 
     /* Open display */
 
-    if (!XInitThreads()) ERR( "XInitThreads failed, trouble ahead\n" );
+    if (!(env = getenv("XMODIFIERS")) || !*env)  /* try to avoid the Xlib XIM locking bug */
+        if (!XInitThreads()) ERR( "XInitThreads failed, trouble ahead\n" );
 
     if (!(display = XOpenDisplay( NULL ))) return FALSE;
 




More information about the wine-cvs mailing list