Revision: 14908
          http://sourceforge.net/p/skim-app/code/14908
Author:   hofman
Date:     2025-01-31 18:24:30 +0000 (Fri, 31 Jan 2025)
Log Message:
-----------
declare replacement implementations as functions rather than methods

Modified Paths:
--------------
    trunk/NSCursor_SKExtensions.m
    trunk/PDFAnnotationLine_SKExtensions.m
    trunk/PDFAnnotationMarkup_SKExtensions.m
    trunk/SKRuntime.h
    trunk/SKRuntime.m

Modified: trunk/NSCursor_SKExtensions.m
===================================================================
--- trunk/NSCursor_SKExtensions.m       2025-01-31 18:13:13 UTC (rev 14907)
+++ trunk/NSCursor_SKExtensions.m       2025-01-31 18:24:30 UTC (rev 14908)
@@ -84,19 +84,19 @@
 static void (*original_set)(id, SEL) = NULL;
 static void (*original_hide)(id, SEL) = NULL;
 
-- (void)replacement_set {
+static void replacement_set(id self, SEL _cmd) {
     original_set(self, _cmd);
     hideLaserPointer();
 }
 
-+ (void)replacement_hide {
+static void replacement_hide(id self, SEL _cmd) {
     original_hide(self, _cmd);
     hideLaserPointer();
 }
 
 + (void)load {
-    original_set = (void(*)(id, 
SEL))SKReplaceInstanceMethodImplementationFromSelector(self, @selector(set), 
@selector(replacement_set));
-    original_hide = (void(*)(id, 
SEL))SKReplaceClassMethodImplementationFromSelector(self, @selector(hide), 
@selector(replacement_hide));
+    original_set = (void(*)(id, 
SEL))SKReplaceInstanceMethodImplementation(self, @selector(set), 
(IMP)replacement_set);
+    original_hide = (void(*)(id, SEL))SKReplaceClassMethodImplementation(self, 
@selector(hide), (IMP)replacement_hide);
 }
 
 + (NSCursor *)zoomInCursor {

Modified: trunk/PDFAnnotationLine_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationLine_SKExtensions.m      2025-01-31 18:13:13 UTC (rev 
14907)
+++ trunk/PDFAnnotationLine_SKExtensions.m      2025-01-31 18:24:30 UTC (rev 
14908)
@@ -64,7 +64,7 @@
 
 static void (*original_setBounds)(id, SEL, NSRect) = NULL;
 
-- (void)replacement_setBounds:(NSRect)newBounds {
+static void replacement_setBounds(id self, SEL _cmd , NSRect newBounds) {
     NSPoint startPoint = [self startPoint];
     NSPoint endPoint = [self endPoint];
     original_setBounds(self, _cmd, newBounds);
@@ -74,7 +74,7 @@
 
 + (void)load {
     if (@available(macOS 10.14, *)) {} else
-        original_setBounds = (void (*)(id, SEL, 
NSRect))SKReplaceInstanceMethodImplementationFromSelector(self, 
@selector(setBounds:), @selector(replacement_setBounds:));
+        original_setBounds = (void (*)(id, SEL, 
NSRect))SKReplaceInstanceMethodImplementation(self, @selector(setBounds:), 
(IMP)replacement_setBounds);
 }
 
 - (void)setDefaultSkimNoteProperties {

Modified: trunk/PDFAnnotationMarkup_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationMarkup_SKExtensions.m    2025-01-31 18:13:13 UTC (rev 
14907)
+++ trunk/PDFAnnotationMarkup_SKExtensions.m    2025-01-31 18:24:30 UTC (rev 
14908)
@@ -93,7 +93,7 @@
 static void (*original_setColor)(id, SEL, id) = NULL;
 
 // PDFView raises an exception when a highlight has a sRGB black color
-- (void)replacement_setColor:(NSColor *)color {
+static void replacement_setColor(id self, SEL _cmd, NSColor *color) {
     if ([self markupType] == kPDFMarkupTypeHighlight && [color 
isEqual:[NSColor colorWithSRGBRed:0.0 green:0.0 blue:0.0 alpha:1.0]])
         color = [NSColor colorWithSRGBRed:0.0000001 green:0.0000001 
blue:0.0000001 alpha:1.0];
     original_setColor(self, _cmd, color);
@@ -100,7 +100,7 @@
 }
 
 + (void)load {
-    original_setColor = (void (*)(id, SEL, 
id))SKReplaceInstanceMethodImplementationFromSelector(self, 
@selector(setColor:), @selector(replacement_setColor:));
+    original_setColor = (void (*)(id, SEL, 
id))SKReplaceInstanceMethodImplementation(self, @selector(setColor:), 
(IMP)replacement_setColor);
 }
 
 - (void)setDefaultSkimNoteProperties {

Modified: trunk/SKRuntime.h
===================================================================
--- trunk/SKRuntime.h   2025-01-31 18:13:13 UTC (rev 14907)
+++ trunk/SKRuntime.h   2025-01-31 18:24:30 UTC (rev 14908)
@@ -42,10 +42,6 @@
 
 extern IMP _Nullable SKReplaceInstanceMethodImplementation(Class aClass, SEL 
aSelector, IMP anImp);
 
-extern IMP _Nullable SKReplaceInstanceMethodImplementationFromSelector(Class 
aClass, SEL aSelector, SEL impSelector);
-
 extern IMP _Nullable SKReplaceClassMethodImplementation(Class aClass, SEL 
aSelector, IMP anImp);
 
-extern IMP _Nullable SKReplaceClassMethodImplementationFromSelector(Class 
aClass, SEL aSelector, SEL impSelector);
-
 NS_ASSUME_NONNULL_END

Modified: trunk/SKRuntime.m
===================================================================
--- trunk/SKRuntime.m   2025-01-31 18:13:13 UTC (rev 14907)
+++ trunk/SKRuntime.m   2025-01-31 18:24:30 UTC (rev 14908)
@@ -54,15 +54,6 @@
     return imp;
 }
 
-IMP SKReplaceInstanceMethodImplementationFromSelector(Class aClass, SEL 
aSelector, SEL impSelector) {
-    Method method = class_getInstanceMethod(aClass, impSelector);
-    return method ? SKReplaceInstanceMethodImplementation(aClass, aSelector, 
method_getImplementation(method)) : NULL;
-}
-
 IMP SKReplaceClassMethodImplementation(Class aClass, SEL aSelector, IMP anImp) 
{
     return SKReplaceInstanceMethodImplementation(object_getClass(aClass), 
aSelector, anImp);
 }
-
-IMP SKReplaceClassMethodImplementationFromSelector(Class aClass, SEL 
aSelector, SEL impSelector) {
-    return 
SKReplaceInstanceMethodImplementationFromSelector(object_getClass(aClass), 
aSelector, impSelector);
-}

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to