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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit