Revision: 15913
          http://sourceforge.net/p/skim-app/code/15913
Author:   hofman
Date:     2025-12-23 16:40:54 +0000 (Tue, 23 Dec 2025)
Log Message:
-----------
always call a delayed setCursorForMouse: instead of mouseMoved: at end of event 
handling

Modified Paths:
--------------
    trunk/PDFView_SKExtensions.h
    trunk/PDFView_SKExtensions.m
    trunk/SKPDFView.m
    trunk/SKSecondaryPDFView.m
    trunk/SKSnapshotPDFView.m

Modified: trunk/PDFView_SKExtensions.h
===================================================================
--- trunk/PDFView_SKExtensions.h        2025-12-23 15:11:34 UTC (rev 15912)
+++ trunk/PDFView_SKExtensions.h        2025-12-23 16:40:54 UTC (rev 15913)
@@ -74,6 +74,8 @@
 
 - (NSRect)boundsIncludingMarginsForPage:(PDFPage *)page;
 
+- (void)setCursorForMouse:(nullable NSEvent *)event;
+
 @property (class, nonatomic, readonly) NSColor *defaultBackgroundColor;
 @property (class, nonatomic, readonly) NSColor 
*defaultFullScreenBackgroundColor;
 

Modified: trunk/PDFView_SKExtensions.m
===================================================================
--- trunk/PDFView_SKExtensions.m        2025-12-23 15:11:34 UTC (rev 15912)
+++ trunk/PDFView_SKExtensions.m        2025-12-23 16:40:54 UTC (rev 15913)
@@ -155,7 +155,7 @@
     
     [NSCursor pop];
     // ??? PDFView's delayed layout seems to reset the cursor to an arrow
-    [self performSelector:@selector(mouseMoved:) withObject:theEvent 
afterDelay:0];
+    [self performSelector:@selector(setCursorForMouse:) withObject:theEvent 
afterDelay:0];
 }
 
 #pragma mark NSDraggingSource protocol
@@ -314,6 +314,20 @@
     return color;
 }
 
+- (void)setCursorForMouse:(NSEvent *)theEvent {
+    if (theEvent == nil)
+        theEvent = [NSEvent mouseEventWithType:NSEventTypeMouseMoved
+                                      location:[[self window] 
mouseLocationOutsideOfEventStream]
+                                 modifierFlags:[NSEvent modifierFlags] & 
NSEventModifierFlagDeviceIndependentFlagsMask
+                                     timestamp:0
+                                  windowNumber:[[self window] windowNumber]
+                                       context:nil
+                                   eventNumber:0
+                                    clickCount:1
+                                      pressure:0.0];
+    [self setCursorForAreaOfInterest:[self areaOfInterestForMouse:theEvent]];
+}
+
 + (NSColor *)defaultBackgroundColor {
     return defaultBackgroundColor(SKBackgroundColorKey, 
SKDarkBackgroundColorKey);
 }

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2025-12-23 15:11:34 UTC (rev 15912)
+++ trunk/SKPDFView.m   2025-12-23 16:40:54 UTC (rev 15913)
@@ -225,7 +225,6 @@
 - (void)doResizeReadingBarWithEvent:(NSEvent *)theEvent;
 - (void)doMarqueeZoomWithEvent:(NSEvent *)theEvent;
 - (BOOL)doDragMouseWithEvent:(NSEvent *)theEvent;
-- (void)setCursorForMouse:(NSEvent *)theEvent;
 - (void)showHelpMenu;
 
 - (void)removeLoupeWindow;
@@ -5132,20 +5131,6 @@
         [super setCursorForAreaOfInterest:area & ~kPDFIconArea];
 }
 
-- (void)setCursorForMouse:(NSEvent *)theEvent {
-    if (theEvent == nil)
-        theEvent = [NSEvent mouseEventWithType:NSEventTypeMouseMoved
-                                      location:[[self window] 
mouseLocationOutsideOfEventStream]
-                                 modifierFlags:[NSEvent modifierFlags] & 
NSEventModifierFlagDeviceIndependentFlagsMask
-                                     timestamp:0
-                                  windowNumber:[[self window] windowNumber]
-                                       context:nil
-                                   eventNumber:0
-                                    clickCount:1
-                                      pressure:0.0];
-    [self setCursorForAreaOfInterest:[self areaOfInterestForMouse:theEvent]];
-}
-
 - (void)setDelegate:(id <SKPDFViewDelegate>)newDelegate {
     if (newDelegate == nil)
         [self cleanup];

Modified: trunk/SKSecondaryPDFView.m
===================================================================
--- trunk/SKSecondaryPDFView.m  2025-12-23 15:11:34 UTC (rev 15912)
+++ trunk/SKSecondaryPDFView.m  2025-12-23 16:40:54 UTC (rev 15913)
@@ -690,7 +690,7 @@
         }
         
         [NSCursor pop];
-        [self performSelector:@selector(mouseMoved:) withObject:lastEvent 
afterDelay:0];
+        [self performSelector:@selector(setCursorForMouse:) 
withObject:lastEvent afterDelay:0];
         
         NSPoint location = NSZeroPoint;
         PDFPage *page = [self pageAndPoint:&location forEvent:theEvent 
nearest:YES];

Modified: trunk/SKSnapshotPDFView.m
===================================================================
--- trunk/SKSnapshotPDFView.m   2025-12-23 15:11:34 UTC (rev 15912)
+++ trunk/SKSnapshotPDFView.m   2025-12-23 16:40:54 UTC (rev 15913)
@@ -610,7 +610,7 @@
         }
         
         [NSCursor pop];
-        [self performSelector:@selector(mouseMoved:) withObject:lastEvent 
afterDelay:0];
+        [self performSelector:@selector(setCursorForMouse:) 
withObject:lastEvent afterDelay:0];
         
         if ([[self delegate] 
respondsToSelector:@selector(PDFView:goToExternalDestination:)]) {
             NSPoint location = NSZeroPoint;

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