Revision: 16129
          http://sourceforge.net/p/skim-app/code/16129
Author:   hofman
Date:     2026-03-29 16:21:05 +0000 (Sun, 29 Mar 2026)
Log Message:
-----------
use viwDidHide and viewDidUnhide to reset pdfview/presentationview

Modified Paths:
--------------
    trunk/SKPDFView.m
    trunk/SKPresentationView.m

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2026-03-29 16:08:26 UTC (rev 16128)
+++ trunk/SKPDFView.m   2026-03-29 16:21:05 UTC (rev 16129)
@@ -3203,6 +3203,18 @@
     [super viewWillMoveToWindow:newWindow];
 }
 
+- (void)viewDidHide {
+    [self commitEditing];
+    
+    [self removeLoupeWindow];
+    
+    [self stopPacer];
+    
+    [self setTemporaryToolMode:SKToolModeNone];
+    
+    [super viewDidHide];
+}
+
 #pragma mark Dark mode
 
 - (void)viewDidChangeEffectiveAppearance {

Modified: trunk/SKPresentationView.m
===================================================================
--- trunk/SKPresentationView.m  2026-03-29 16:08:26 UTC (rev 16128)
+++ trunk/SKPresentationView.m  2026-03-29 16:21:05 UTC (rev 16129)
@@ -1196,7 +1196,7 @@
 }
 
 - (void)handleWindowDidResignKeyNotification:(NSNotification *)notification {
-    if ([self isHidden] == NO) {
+    if ([self isHiddenOrHasHiddenAncestor] == NO) {
         [self cancelDelayedRequests];
         pvFlags.cursorHidden = NO;
         [[NSCursor arrowCursor] set];
@@ -1204,7 +1204,7 @@
 }
 
 - (void)handleWindowDidBecomeKeyNotification:(NSNotification *)notification {
-    if (pvFlags.cursorHidden == NO && [self isHidden] == NO) {
+    if (pvFlags.cursorHidden == NO && [self isHiddenOrHasHiddenAncestor] == 
NO) {
         [self performSelectorOnce:@selector(setCursorForMouse:) 
afterDelay:0.0];
         [self performSelectorOnce:@selector(autoHide) 
afterDelay:AUTO_HIDE_DELAY];
     }
@@ -1256,13 +1256,17 @@
     [super viewDidMoveToWindow];
 }
 
-- (void)setHidden:(BOOL)hidden {
-    BOOL wasHidden = [self isHidden];
+- (void)viewDidHide {
     [self cancelDelayedRequests];
-    if (hidden && wasHidden == NO)
-        [self resetAutoHide];
-    [super setHidden:hidden];
-    if (hidden == NO && wasHidden && [[self window] isKeyWindow])
+    [self resetAutoHide];
+    
+    [super viewDidHide];
+}
+
+- (void)viewDidUnhide {
+    [super viewDidUnhide];
+    
+    if ([[self window] isKeyWindow])
         [self handleWindowDidBecomeKeyNotification:nil];
 }
 

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

Reply via email to