From 9b79ae49f709707e99b8487b01f9d3f102754bd3 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sat, 8 Nov 2008 14:41:23 -0800 Subject: [PATCH] Apple: Enable support for launchd DISPLAY socket --- src/xcb_util.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/xcb_util.c b/src/xcb_util.c index 7c6a4dd..f5c9431 100644 --- a/src/xcb_util.c +++ b/src/xcb_util.c @@ -316,10 +316,18 @@ xcb_connection_t *xcb_connect(const char *displayname, int *screenp) xcb_connection_t *c; xcb_auth_info_t auth; +#ifdef __APPLE__ + if(displayname && strlen(displayname)>11 && !strncmp(displayname, "/tmp/launch", 11)) + fd = _xcb_open_unix(protocol, displayname); + else { +#endif if(!_xcb_parse_display(displayname, &host, &protocol, &display, screenp)) return (xcb_connection_t *) &error_connection; fd = _xcb_open(host, protocol, display); free(host); +#ifdef __APPLE__ + } +#endif if(fd == -1) return (xcb_connection_t *) &error_connection; @@ -340,10 +348,18 @@ xcb_connection_t *xcb_connect_to_display_with_auth_info(const char *displayname, char *host; char *protocol; +#ifdef __APPLE__ + if(displayname && strlen(displayname)>11 && !strncmp(displayname, "/tmp/launch", 11)) + fd = _xcb_open_unix(protocol, displayname); + else { +#endif if(!_xcb_parse_display(displayname, &host, &protocol, &display, screenp)) return (xcb_connection_t *) &error_connection; fd = _xcb_open(host, protocol, display); free(host); +#ifdef __APPLE__ + } +#endif if(fd == -1) return (xcb_connection_t *) &error_connection; -- 2.34.1