From 024cb267dd412a9e1ae6fd63a4f8675d38a60892 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Thu, 21 Mar 2019 16:01:51 -0700 Subject: [PATCH] [GdkQuartz] Fix two build issues 1. NSRect and CGRect aren't toll-free bridged in 32 bit builds. 2. NSWindowCollectionBehavior(Dis)AllowTiling is defined beginning in 10.11. --- gdk/quartz/gdkdisplay-quartz.c | 2 +- gdk/quartz/gdkwindow-quartz.c | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 30ba921317..ed81f9cc48 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -469,7 +469,7 @@ gdk_quartz_display_get_monitor_at_window (GdkDisplay *display, } if (!monitor) { - GdkRectangle rect = cgrect_to_gdkrect ([nswindow frame]); + GdkRectangle rect = cgrect_to_gdkrect (NSRectToCGRect ([nswindow frame])); monitor = gdk_display_get_monitor_at_point (display, rect.x + rect.width/2, rect.y + rect.height /2); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 5918fc5fc1..3b0b565de2 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2183,7 +2183,14 @@ _gdk_quartz_window_set_collection_behavior (NSWindow *nswindow, GdkWindowTypeHint hint) { #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 - if (gdk_quartz_osx_version() >= GDK_OSX_LION) +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 10110 +#define GDK_QUARTZ_ALLOWS_TILING NSWindowCollectionBehaviorFullScreenAllowsTiling +#define GDK_QUARTZ_DISALLOWS_TILING NSWindowCollectionBehaviorFullScreenDisallowsTiling +#else +#define GDK_QUARTZ_ALLOWS_TILING 1 << 11 +#define GDK_QUARTZ_DISALLOWS_TILING 1 << 12 +#endif + if (gdk_quartz_osx_version() >= GDK_OSX_LION) { /* Fullscreen Collection Behavior */ NSWindowCollectionBehavior behavior = [nswindow collectionBehavior]; @@ -2192,20 +2199,22 @@ _gdk_quartz_window_set_collection_behavior (NSWindow *nswindow, case GDK_WINDOW_TYPE_HINT_NORMAL: case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN: behavior &= ~(NSWindowCollectionBehaviorFullScreenAuxiliary & - NSWindowCollectionBehaviorFullScreenDisallowsTiling); + GDK_QUARTZ_DISALLOWS_TILING); behavior |= (NSWindowCollectionBehaviorFullScreenPrimary | - NSWindowCollectionBehaviorFullScreenAllowsTiling); + GDK_QUARTZ_ALLOWS_TILING); break; default: behavior &= ~(NSWindowCollectionBehaviorFullScreenPrimary & - NSWindowCollectionBehaviorFullScreenAllowsTiling); + GDK_QUARTZ_ALLOWS_TILING); behavior |= (NSWindowCollectionBehaviorFullScreenAuxiliary | - NSWindowCollectionBehaviorFullScreenDisallowsTiling); + GDK_QUARTZ_DISALLOWS_TILING); break; } [nswindow setCollectionBehavior:behavior]; } +#undef GDK_QUARTZ_ALLOWS_TILING +#undef GDK_QUARTZ_DISALLOWS_TILING #endif }