diff options
author | marha <marha@users.sourceforge.net> | 2011-03-08 11:43:52 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-03-08 11:43:52 +0000 |
commit | 38759ea9d5de5d439064054afacb148707d62350 (patch) | |
tree | 9ef0e64786191cebe27788191cdc16a786faf43c /libxcb | |
parent | 6cb20b12a217ef56345a79a196757fb259f5087f (diff) | |
download | vcxsrv-38759ea9d5de5d439064054afacb148707d62350.tar.gz vcxsrv-38759ea9d5de5d439064054afacb148707d62350.tar.bz2 vcxsrv-38759ea9d5de5d439064054afacb148707d62350.zip |
Solved crashes when display could not be opened
Diffstat (limited to 'libxcb')
-rw-r--r-- | libxcb/src/xcb_ext.c | 2 | ||||
-rw-r--r-- | libxcb/src/xcb_windefs.h | 2 | ||||
-rw-r--r-- | libxcb/src/xcb_xid.c | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/libxcb/src/xcb_ext.c b/libxcb/src/xcb_ext.c index 68bb29bdf..c79c54de2 100644 --- a/libxcb/src/xcb_ext.c +++ b/libxcb/src/xcb_ext.c @@ -119,6 +119,8 @@ int _xcb_ext_init(xcb_connection_t *c) void _xcb_ext_destroy(xcb_connection_t *c) { + if (!c->ext.lock) + return; /* mutex is not initialised */ pthread_mutex_destroy(&c->ext.lock); while(c->ext.extensions_size-- > 0) if(c->ext.extensions[c->ext.extensions_size].tag == LAZY_FORCED) diff --git a/libxcb/src/xcb_windefs.h b/libxcb/src/xcb_windefs.h index 6b5217de4..cba0af3f2 100644 --- a/libxcb/src/xcb_windefs.h +++ b/libxcb/src/xcb_windefs.h @@ -43,6 +43,6 @@ typedef unsigned int in_addr_t; #define HANDLE void *
typedef int pid_t;
-#define STDERR_FILENO stderr
+#define STDERR_FILENO 2
#endif /* xcb_windefs.h */
diff --git a/libxcb/src/xcb_xid.c b/libxcb/src/xcb_xid.c index 3df5dbec6..b0de73f21 100644 --- a/libxcb/src/xcb_xid.c +++ b/libxcb/src/xcb_xid.c @@ -93,5 +93,7 @@ int _xcb_xid_init(xcb_connection_t *c) void _xcb_xid_destroy(xcb_connection_t *c) { + if (!c->xid.lock) + return; /* mutex was not initialised yet */ pthread_mutex_destroy(&c->xid.lock); } |