Revision: 15965
          http://sourceforge.net/p/skim-app/code/15965
Author:   hofman
Date:     2026-01-06 18:13:00 +0000 (Tue, 06 Jan 2026)
Log Message:
-----------
get point only when needed

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

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2026-01-06 17:21:55 UTC (rev 15964)
+++ trunk/SKPDFView.m   2026-01-06 18:13:00 UTC (rev 15965)
@@ -4563,7 +4563,7 @@
         NSPoint mouseLocInWindow = [lastMouseEvent locationInWindow];
         NSPoint mouseLoc = [self convertPoint:mouseLocInWindow fromView:nil];
         if ([docView autoscroll:lastMouseEvent] == NO &&
-            ([self displayMode] == kPDFDisplaySinglePage || [self displayMode] 
== kPDFDisplayTwoUp) &&
+            ([self displayMode] & kPDFDisplaySinglePageContinuous) == 0 &&
             [[NSDate date] timeIntervalSinceDate:lastPageChangeDate] > 0.7) {
             if (mouseLoc.y < NSMinY([self bounds])) {
                 if ([self canGoToNextPage]) {
@@ -4583,9 +4583,6 @@
         mouseLoc = [self convertPoint:mouseLocInWindow fromView:nil];
         
         PDFPage *mousePage = [self pageForPoint:mouseLoc nearest:YES];
-        NSPoint mouseLocInPage = [self convertPoint:mouseLoc toPage:mousePage];
-        NSPoint mouseLocInDocument = [self convertPoint:mouseLoc 
toView:docView];
-        NSInteger currentLine;
         
         if ([mousePage isEqual:page] == NO) {
             page = mousePage;
@@ -4593,16 +4590,19 @@
             lineAngle = [page lineDirectionAngle];
         }
         
-        if (numberOfLines == 0)
-            continue;
-        
-        currentLine = [page indexOfLineRectAtPoint:mouseLocInPage 
lower:mouseLocInDocument.y < lastMouseLoc.y] - lineOffset;
-        currentLine = MAX(0, MIN(numberOfLines - (NSInteger)[readingBar 
numberOfLines], currentLine));
-        
-        if ([page isEqual:readingBarPage] == NO || currentLine != [readingBar 
currentLine]) {
-            [readingBar goToLine:currentLine onPage:page];
-            readingBarPage = page;
-            lastMouseLoc = mouseLocInDocument;
+        if (numberOfLines > 0) {
+            NSPoint mouseLocInPage = [self convertPoint:mouseLoc 
toPage:mousePage];
+            NSPoint mouseLocInDocument = [self convertPoint:mouseLoc 
toView:docView];
+            NSInteger currentLine;
+            
+            currentLine = [page indexOfLineRectAtPoint:mouseLocInPage 
lower:mouseLocInDocument.y < lastMouseLoc.y] - lineOffset;
+            currentLine = MAX(0, MIN(numberOfLines - (NSInteger)[readingBar 
numberOfLines], currentLine));
+            
+            if ([page isEqual:readingBarPage] == NO || currentLine != 
[readingBar currentLine]) {
+                [readingBar goToLine:currentLine onPage:page];
+                readingBarPage = page;
+                lastMouseLoc = mouseLocInDocument;
+            }
         }
     }
     

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