From dfbc6a1a78ff3192baae6f7f2af98b6e51422f75 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Sequoia Date: Wed, 23 Jul 2014 11:53:33 -0700 Subject: [PATCH 1/2] ListenOnOpenFD: Remove Resets since this is intended to be for hotplugging connections pharris says that the resets should not be done in the hotplugging case. This may fix a crash reported against XQuartz: http://xquartz.macosforge.org/trac/ticket/869 Signed-off-by: Jeremy Huddleston Sequoia Reviewed-by: Peter Harris --- os/connection.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/os/connection.c b/os/connection.c index 40d9ff39b..f915e1295 100644 --- a/os/connection.c +++ b/os/connection.c @@ -1307,13 +1307,6 @@ ListenOnOpenFD(int fd, int noxauth) /* Increment the count */ ListenTransCount++; - - /* This *might* not be needed... /shrug */ - ResetAuthorization(); - ResetHosts(display); -#ifdef XDMCP - XdmcpReset(); -#endif } /* based on TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) */ From ab32ee35890be51137b56525826ffe219b63eb88 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Sequoia Date: Mon, 11 Aug 2014 13:15:24 -0700 Subject: [PATCH 2/2] XQuartz: Better support turning off "Displays have separate Spaces" on OS X Mavericks http://xquartz.macosforge.org/trac/ticket/1876 Follow-up to: 1c10b37380d228b35db8a8616a6312ac54f5e59b Signed-off-by: Jeremy Huddleston Sequoia --- hw/xquartz/xpr/xprScreen.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c index 7aa1ae1df..d0a525ff4 100644 --- a/hw/xquartz/xpr/xprScreen.c +++ b/hw/xquartz/xpr/xprScreen.c @@ -169,14 +169,25 @@ displayScreenBounds(CGDirectDisplayID id) (int)frame.size.width, (int)frame.size.height, (int)frame.origin.x, (int)frame.origin.y); - /* Remove menubar to help standard X11 window managers. - * On Mavericks and later, the menu bar is on all displays. - */ - if (XQuartzIsRootless + Boolean spacePerDisplay = false; #if MAC_OS_X_VERSION_MIN_REQUIRED < 1090 - && (NSAppKitVersionNumber >= 1265 || (frame.origin.x == 0 && frame.origin.y == 0)) + if (NSAppKitVersionNumber >= 1265) #endif - ) { + { + Boolean ok; + (void)CFPreferencesAppSynchronize(CFSTR("com.apple.spaces")); + spacePerDisplay = ! CFPreferencesGetAppBooleanValue(CFSTR("spans-displays"), + CFSTR("com.apple.spaces"), + &ok); + if (!ok) + spacePerDisplay = true; + } + + /* Remove menubar to help standard X11 window managers. + * On Mavericks and later, the menu bar is on all displays when spans-displays is false or unset. + */ + if (XQuartzIsRootless && + (spacePerDisplay || (frame.origin.x == 0 && frame.origin.y == 0))) { frame.origin.y += aquaMenuBarHeight; frame.size.height -= aquaMenuBarHeight; }