From 43a61bb6fe1e9741e686fc57b51e782432c384de Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 21 Apr 2010 11:46:42 +0200 Subject: Detect XShm extension sanely The previous way XShm detection worked failed at least for me, and is not the standard way. We now just use XShmQueryExtension and XShmQueryVersion. --- client/x11/platform.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'client') diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp index 0151b416..2c3604a4 100644 --- a/client/x11/platform.cpp +++ b/client/x11/platform.cpp @@ -2169,9 +2169,8 @@ void Platform::init() { int err, ev; int threads_enable; - int connection_fd; - socklen_t sock_len; - struct sockaddr sock_addr; + int major, minor; + Bool pixmaps; DBG(0, ""); @@ -2184,9 +2183,8 @@ void Platform::init() THROW("open X display failed"); } - connection_fd = ConnectionNumber(x_display); - if (!getsockname(connection_fd, &sock_addr, &sock_len) && - XShmQueryExtension(x_display) && sock_addr.sa_family == AF_UNIX ) { + if (XShmQueryExtension (x_display) && + XShmQueryVersion (x_display, &major, &minor, &pixmaps)) { x_shm_avail = true; } -- cgit