diff options
author | marha <marha@users.sourceforge.net> | 2011-03-17 13:49:22 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-03-17 13:49:22 +0000 |
commit | d7f1bd4112420f1d4b41c5409074eca6b34bf507 (patch) | |
tree | e3673d73657946b3122f5ff05bf19dff5ddeaff6 /libX11/src/XlibInt.c | |
parent | 5e633abcca598289d0423d89bb400b41e6417259 (diff) | |
download | vcxsrv-d7f1bd4112420f1d4b41c5409074eca6b34bf507.tar.gz vcxsrv-d7f1bd4112420f1d4b41c5409074eca6b34bf507.tar.bz2 vcxsrv-d7f1bd4112420f1d4b41c5409074eca6b34bf507.zip |
xserver libX11 mesa git updaet 17 Mar 2011
Diffstat (limited to 'libX11/src/XlibInt.c')
-rw-r--r-- | libX11/src/XlibInt.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libX11/src/XlibInt.c b/libX11/src/XlibInt.c index a78da9bf1..3db151e29 100644 --- a/libX11/src/XlibInt.c +++ b/libX11/src/XlibInt.c @@ -1574,7 +1574,19 @@ int _XError ( !(*dpy->error_vec[rep->errorCode])(dpy, &event.xerror, rep)) return 0; if (_XErrorFunction != NULL) { - return (*_XErrorFunction)(dpy, (XErrorEvent *)&event); /* upcall */ + int rtn_val; +#ifdef XTHREADS + if (dpy->lock) + (*dpy->lock->user_lock_display)(dpy); + UnlockDisplay(dpy); +#endif + rtn_val = (*_XErrorFunction)(dpy, (XErrorEvent *)&event); /* upcall */ +#ifdef XTHREADS + LockDisplay(dpy); + if (dpy->lock) + (*dpy->lock->user_unlock_display)(dpy); +#endif + return rtn_val; } else { return _XDefaultError(dpy, (XErrorEvent *)&event); } |