Revision: 15328 http://sourceforge.net/p/skim-app/code/15328 Author: hofman Date: 2025-05-30 09:18:25 +0000 (Fri, 30 May 2025) Log Message: ----------- Keep saved window for fullscreen animation as shortly as possible, retain it by the completion handler block
Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-30 09:02:00 UTC (rev 15327) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-30 09:18:25 UTC (rev 15328) @@ -462,9 +462,8 @@ } } -- (void)displayStaticContentForWindowOrdered:(NSWindowOrderingMode)place { +- (void)displayStaticContentInWindow:(NSWindow *)displayWindow ordered:(NSWindowOrderingMode)place { NSWindow *window = [self window]; - NSWindow *displayWindow = savedNormalWindow; NSRect frame = [window frame]; CALayer *layer = [CALayer layer]; CGImageRef cgImage = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, (CGWindowID)[window windowNumber], kCGWindowImageBoundsIgnoreFraming | kCGWindowImageBestResolution); @@ -610,7 +609,9 @@ if ([[NSUserDefaults standardUserDefaults] boolForKey:AppleMenuBarVisibleInFullscreenKey]) frame.size.height -= [[NSApp mainMenu] menuBarHeight] ?: 24.0; if (savedNormalWindow != nil) { - [self displayStaticContentForWindowOrdered:NSWindowBelow]; + NSWindow *displayWindow = savedNormalWindow; + savedNormalWindow = nil; + [self displayStaticContentInWindow:displayWindow ordered:NSWindowBelow]; [(SKMainWindow *)window setDisableConstrainedFrame:YES]; [window setFrame:frame display:YES]; [self window:window willBecomeFullScreen:YES]; @@ -622,8 +623,7 @@ [[window animator] setAlphaValue:1.0]; } completionHandler:^{ - [savedNormalWindow orderOut:nil]; - savedNormalWindow = nil; + [displayWindow orderOut:nil]; }]; } else { [(SKMainWindow *)window setDisableConstrainedFrame:YES]; @@ -681,7 +681,9 @@ NSRect frame = NSRectFromString([savedNormalSetup objectForKey:MAINWINDOWFRAME_KEY]); if (savedNormalWindow != nil) { BOOL covered = NSContainsRect([window frame], frame); - [self displayStaticContentForWindowOrdered:NSWindowAbove]; + NSWindow *displayWindow = savedNormalWindow; + savedNormalWindow = nil; + [self displayStaticContentInWindow:displayWindow ordered:NSWindowAbove]; [window setStyleMask:[window styleMask] & ~NSWindowStyleMaskFullScreen]; setAlphaValueOfTitleBarControls(window, 1.0, NO); [window setFrame:frame display:YES]; @@ -695,8 +697,7 @@ [[savedNormalWindow animator] setAlphaValue:0.0]; } completionHandler:^{ - [savedNormalWindow orderOut:nil]; - savedNormalWindow = nil; + [displayWindow orderOut:nil]; }]; } else { NSRect startFrame = [window frame]; 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