Revision: 13871
          http://sourceforge.net/p/skim-app/code/13871
Author:   hofman
Date:     2023-12-10 16:42:54 +0000 (Sun, 10 Dec 2023)
Log Message:
-----------
we set points in offsets maptable

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

Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m      2023-12-10 15:56:16 UTC (rev 13870)
+++ trunk/SKMainDocument.m      2023-12-10 16:42:54 UTC (rev 13871)
@@ -1127,6 +1127,9 @@
     }
 }
 
+static NSUInteger pointSizeFunction(const void *item) { return 
sizeof(NSPoint); }
+static NSString *pointDescriptionFunction(const void *item) { return 
NSStringFromPoint(*(NSPointPointer)item); }
+
 - (void)convertNotesUsingPDFDocument:(PDFDocument *)pdfDocWithoutNotes {
     [[self mainWindowController] 
beginProgressSheetWithMessage:[NSLocalizedString(@"Converting notes", @"Message 
for progress sheet") stringByAppendingEllipsis] maxValue:0];
     
@@ -1152,11 +1155,14 @@
         }
         
         if (NSEqualPoints(pageOrigin, NSZeroPoint) == NO) {
-            if (offsets == nil)
-                offsets = [[NSMapTable alloc] 
initWithKeyOptions:NSPointerFunctionsOpaqueMemory | 
NSPointerFunctionsIntegerPersonality 
valueOptions:NSPointerFunctionsStrongMemory | 
NSPointerFunctionsObjectPersonality capacity:0];
-            NSPointPointer offsetPtr = NSZoneMalloc(NSDefaultMallocZone(), 
sizeof(NSPoint));
-            *offsetPtr = pageOrigin;
-            NSMapInsert(offsets, (const void *)[page pageIndex], offsetPtr);
+            if (offsets == nil) {
+                NSPointerFunctions *keyPointerFunctions = [NSPointerFunctions 
pointerFunctionsWithOptions:NSPointerFunctionsOpaqueMemory | 
NSPointerFunctionsIntegerPersonality];
+                NSPointerFunctions *valuePointerFunctions = 
[NSPointerFunctions pointerFunctionsWithOptions:NSPointerFunctionsMallocMemory 
| NSPointerFunctionsCopyIn | NSPointerFunctionsStructPersonality];
+                [valuePointerFunctions setSizeFunction:pointSizeFunction];
+                [valuePointerFunctions 
setDescriptionFunction:pointDescriptionFunction];
+                offsets = [[NSMapTable alloc] 
initWithKeyPointerFunctions:keyPointerFunctions 
valuePointerFunctions:valuePointerFunctions capacity:0];
+            }
+            NSMapInsert(offsets, (const void *)[page pageIndex], &pageOrigin);
         }
     }
     

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