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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit