X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fxcb_util.c;h=45f66cbfe413f54afe7e97f1a56d17baad3b50ba;hb=ed93a6a2a8e23f12380709de6e04b2d833df7e71;hp=9329b81dd4fb204fa5827d9acd2ecf7f4784541a;hpb=31b57676e8d7ab6048dbfb145187833fac5e478c;p=free-sw%2Fxcb%2Flibxcb diff --git a/src/xcb_util.c b/src/xcb_util.c index 9329b81..45f66cb 100644 --- a/src/xcb_util.c +++ b/src/xcb_util.c @@ -175,7 +175,7 @@ static int _xcb_open(const char *host, char *protocol, const int display) if(strncmp(host, "/tmp/launch", 11) == 0) { base = host; host = ""; - protocol = NULL; + protocol = "unix"; } #endif @@ -235,6 +235,11 @@ static int _xcb_open(const char *host, char *protocol, const int display) fd = _xcb_open_unix(protocol, file); free(file); + if (fd < 0 && !protocol && *host == '\0') { + unsigned short port = X_TCP_PORT + display; + fd = _xcb_open_tcp(host, protocol, port); + } + return fd; #endif /* !_WIN32 */ return -1; /* if control reaches here then something has gone wrong */ @@ -430,7 +435,7 @@ xcb_connection_t *xcb_connect_to_display_with_auth_info(const char *displayname, #ifdef _WIN32 WSADATA wsaData; if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { - c = (xcb_connection_t *) &error_connection; + c = _xcb_conn_ret_error(XCB_CONN_ERROR); goto out; } #endif