diff options
Diffstat (limited to 'unix/tkUnixEvent.c')
-rw-r--r-- | unix/tkUnixEvent.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/unix/tkUnixEvent.c b/unix/tkUnixEvent.c index 9b32502..b7f8f75 100644 --- a/unix/tkUnixEvent.c +++ b/unix/tkUnixEvent.c @@ -128,7 +128,7 @@ TkpOpenDisplay( int minor = 0; int reason = 0; unsigned int use_xkb = 0; -#ifdef TCL_THREADS +#if defined(XKEYCODETOKEYSYM_IS_DEPRECATED) && defined(TCL_THREADS) static int xinited = 0; TCL_DECLARE_MUTEX(xinitMutex); @@ -137,8 +137,12 @@ TkpOpenDisplay( if (!xinited) { /* Necessary for threaded apps, of no consequence otherwise */ /* need only be called once, but must be called before *any* */ - /* Xlib call is made. */ - XInitThreads(); + /* Xlib call is made. If xinitMutex is still NULL after the */ + /* Tcl_MutexLock call, Tcl was compiled without threads so */ + /* we cannot use XInitThreads() either. */ + if (xinitMutex != NULL){ + XInitThreads(); + } xinited = 1; } Tcl_MutexUnlock(&xinitMutex); |