--- gdk/quartz/gdkwindow-quartz.c.orig	2023-03-03 01:31:52.000000000 +0100
+++ gdk/quartz/gdkwindow-quartz.c	2023-05-17 09:44:27.000000000 +0200
@@ -82,6 +82,22 @@
 
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
 static FullscreenSavedGeometry *get_fullscreen_geometry (GdkWindow *window);
+NSWindowCollectionBehaviorFullScreenPrimary = NSWindowCollectionBehaviorDefault;
+
+#ifndef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+typedef NSUInteger NSWindowCollectionBehavior;
+
+@interface NSWindow (GTKExtensions)
+- (void)setCollectionBehavior:(NSWindowCollectionBehavior)behavior;
+@end
+
+@implementation NSWindow (GTKExtensions)
+- (void)setCollectionBehavior:(NSWindowCollectionBehavior)behavior
+{
+}
+@end
+#endif
+
 #endif
 
 #define FULLSCREEN_DATA "fullscreen-data"
@@ -2909,7 +2925,6 @@
     {
 #endif
       FullscreenSavedGeometry *geometry;
-      GdkWindowImplQuartz *impl = gdk_window_get_quartz_impl (window);
       NSRect frame;
 
       if (GDK_WINDOW_DESTROYED (window) ||
@@ -2917,7 +2932,9 @@
           !impl)
         return;
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
       geometry = get_fullscreen_geometry (window);
+#endif
       if (!geometry)
         {
           geometry = g_new (FullscreenSavedGeometry, 1);
@@ -2975,7 +2992,6 @@
   else
     {
 #endif
-      GdkWindowImplQuartz *impl = gdk_window_get_quartz_impl (window);
       FullscreenSavedGeometry *geometry;
 
       if (GDK_WINDOW_DESTROYED (window) ||
@@ -2983,7 +2999,9 @@
           !impl)
         return;
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
       geometry = get_fullscreen_geometry (window);
+#endif
       if (geometry)
         {
           SetSystemUIMode (kUIModeNormal, 0);
