Revision: 15273
          http://sourceforge.net/p/skim-app/code/15273
Author:   hofman
Date:     2025-05-24 15:05:31 +0000 (Sat, 24 May 2025)
Log Message:
-----------
Use ivar, switch window earlier

Modified Paths:
--------------
    trunk/SKMainWindowController_FullScreen.m

Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m   2025-05-24 14:57:53 UTC (rev 
15272)
+++ trunk/SKMainWindowController_FullScreen.m   2025-05-24 15:05:31 UTC (rev 
15273)
@@ -380,15 +380,19 @@
     if ([self presentationNotesDocument])
         [self showNotesForPresentationWindow:presentationWindow];
     
-    BOOL isInTab = [[[self window] tabbedWindows] count] > 1;
-    BOOL shouldFadeOut = NSContainsRect([presentationWindow frame], [[self 
window] frame]) == NO && isInTab == NO;
-    
+    BOOL isInTab = [[mainWindow tabbedWindows] count] > 1;
     if (isInTab) {
-        NSUInteger tabIndex = [[[self window] tabbedWindows] 
indexOfObject:[self window]];
-        [savedNormalSetup setObject:[[self window] tabGroup] 
forKey:TABGROUP_KEY];
+        NSUInteger tabIndex = [[mainWindow tabbedWindows] 
indexOfObject:mainWindow];
+        [savedNormalSetup setObject:[mainWindow tabGroup] forKey:TABGROUP_KEY];
         [savedNormalSetup setObject:[NSNumber 
numberWithUnsignedInteger:tabIndex] forKey:TABINDEX_KEY];
     }
     
+    [mainWindow setDelegate:nil];
+    
+    [self setWindow:presentationWindow];
+    
+    BOOL shouldFadeOut = NSContainsRect([presentationWindow frame], 
[mainWindow frame]) == NO && isInTab == NO;
+    
     [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
             [context setDuration:PRESENTATION_DURATION];
             [context setTimingFunction:[CAMediaTimingFunction 
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
@@ -397,14 +401,12 @@
                 [[mainWindow animator] setAlphaValue:0.0];
         }
         completionHandler:^{
-            if (isInTab)
-                [[self window] moveTabToNewWindow:nil];
-            
-            [mainWindow setDelegate:nil];
-            [self setWindow:presentationWindow];
             // only hide the dock and menubar when the presentation window is 
on the primary screen, otherwise no need to block main menu and dock
             if ([NSScreen screenForWindowHasMenuBar:presentationWindow])
                 [NSApp 
setPresentationOptions:NSApplicationPresentationHideDock | 
NSApplicationPresentationHideMenuBar];
+            
+            if (isInTab)
+                [mainWindow moveTabToNewWindow:nil];
             [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorNone];
             [mainWindow orderOut:nil];
             [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorDefault];

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to