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