[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.
This commit is contained in:
John Ralls
2019-03-21 16:01:51 -07:00
parent 17665f06e3
commit 024cb267dd
2 changed files with 15 additions and 6 deletions

View File

@ -469,7 +469,7 @@ gdk_quartz_display_get_monitor_at_window (GdkDisplay *display,
} }
if (!monitor) 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, monitor = gdk_display_get_monitor_at_point (display,
rect.x + rect.width/2, rect.x + rect.width/2,
rect.y + rect.height /2); rect.y + rect.height /2);

View File

@ -2183,6 +2183,13 @@ _gdk_quartz_window_set_collection_behavior (NSWindow *nswindow,
GdkWindowTypeHint hint) GdkWindowTypeHint hint)
{ {
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
#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) if (gdk_quartz_osx_version() >= GDK_OSX_LION)
{ {
/* Fullscreen Collection Behavior */ /* Fullscreen Collection Behavior */
@ -2192,20 +2199,22 @@ _gdk_quartz_window_set_collection_behavior (NSWindow *nswindow,
case GDK_WINDOW_TYPE_HINT_NORMAL: case GDK_WINDOW_TYPE_HINT_NORMAL:
case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN: case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
behavior &= ~(NSWindowCollectionBehaviorFullScreenAuxiliary & behavior &= ~(NSWindowCollectionBehaviorFullScreenAuxiliary &
NSWindowCollectionBehaviorFullScreenDisallowsTiling); GDK_QUARTZ_DISALLOWS_TILING);
behavior |= (NSWindowCollectionBehaviorFullScreenPrimary | behavior |= (NSWindowCollectionBehaviorFullScreenPrimary |
NSWindowCollectionBehaviorFullScreenAllowsTiling); GDK_QUARTZ_ALLOWS_TILING);
break; break;
default: default:
behavior &= ~(NSWindowCollectionBehaviorFullScreenPrimary & behavior &= ~(NSWindowCollectionBehaviorFullScreenPrimary &
NSWindowCollectionBehaviorFullScreenAllowsTiling); GDK_QUARTZ_ALLOWS_TILING);
behavior |= (NSWindowCollectionBehaviorFullScreenAuxiliary | behavior |= (NSWindowCollectionBehaviorFullScreenAuxiliary |
NSWindowCollectionBehaviorFullScreenDisallowsTiling); GDK_QUARTZ_DISALLOWS_TILING);
break; break;
} }
[nswindow setCollectionBehavior:behavior]; [nswindow setCollectionBehavior:behavior];
} }
#undef GDK_QUARTZ_ALLOWS_TILING
#undef GDK_QUARTZ_DISALLOWS_TILING
#endif #endif
} }