Revision: 4364
http://skim-app.svn.sourceforge.net/skim-app/?rev=4364&view=rev
Author: hofman
Date: 2008-08-06 23:43:49 +0000 (Wed, 06 Aug 2008)
Log Message:
-----------
Add some convenience functions for method replacement with various default
arguments.
Modified Paths:
--------------
trunk/NSCell_SKExtensions.m
trunk/NSCharacterSet_SKExtensions.m
trunk/NSScrollView_SKExtensions.m
trunk/NSURL_SKExtensions.m
trunk/PDFAnnotationLink_SKExtensions.m
trunk/PDFAnnotationMarkup_SKExtensions.m
trunk/PDFDisplayView_SKExtensions.m
trunk/PDFDocument_SKExtensions.m
trunk/PDFPage_SKExtensions.m
trunk/SKFindTableView.m
trunk/SKRuntime.h
trunk/SKRuntime.m
trunk/SKThumbnailTableView.m
trunk/SKTypeSelectHelper.m
trunk/Skim.xcodeproj/project.pbxproj
Modified: trunk/NSCell_SKExtensions.m
===================================================================
--- trunk/NSCell_SKExtensions.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/NSCell_SKExtensions.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -54,7 +54,7 @@
}
+ (void)load {
- originalHighlightColorWithFrameInView = (id (*)(id, SEL, NSRect,
id))SKReplaceMethodImplementationFromSelector(self,
@selector(highlightColorWithFrame:inView:),
@selector(replacementHighlightColorWithFrame:inView:), YES, SKReplaceOnly);
+ originalHighlightColorWithFrameInView = (id (*)(id, SEL, NSRect,
id))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(highlightColorWithFrame:inView:),
@selector(replacementHighlightColorWithFrame:inView:));
}
@end
Modified: trunk/NSCharacterSet_SKExtensions.m
===================================================================
--- trunk/NSCharacterSet_SKExtensions.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/NSCharacterSet_SKExtensions.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -69,7 +69,7 @@
}
+ (void)load {
- SKReplaceMethodImplementationFromSelector(self,
@selector(newlineCharacterSet), @selector(replacementNewlineCharacterSet), NO,
SKSetOnly);
+ SKAddClassMethodImplementationFromSelector(self,
@selector(newlineCharacterSet), @selector(replacementNewlineCharacterSet));
}
@end
Modified: trunk/NSScrollView_SKExtensions.m
===================================================================
--- trunk/NSScrollView_SKExtensions.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/NSScrollView_SKExtensions.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -103,10 +103,10 @@
}
+ (void)load{
- originalSetHasHorizontalScroller = (void (*)(id, SEL,
BOOL))SKReplaceMethodImplementationFromSelector(self,
@selector(setHasHorizontalScroller:),
@selector(replacementSetHasHorizontalScroller:), YES, SKReplaceOnly);
- originalSetAutohidesScrollers = (void (*)(id, SEL,
BOOL))SKReplaceMethodImplementationFromSelector(self,
@selector(setAutohidesScrollers:),
@selector(replacementSetAutohidesScrollers:), YES, SKReplaceOnly);
- originalDealloc = (void (*)(id,
SEL))SKReplaceMethodImplementationFromSelector(self, @selector(dealloc),
@selector(replacementDealloc), YES, SKReplaceOnly);
- originalTile = (void (*)(id,
SEL))SKReplaceMethodImplementationFromSelector(self, @selector(tile),
@selector(replacementTile), YES, SKReplaceOnly);
+ originalSetHasHorizontalScroller = (void (*)(id, SEL,
BOOL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(setHasHorizontalScroller:),
@selector(replacementSetHasHorizontalScroller:));
+ originalSetAutohidesScrollers = (void (*)(id, SEL,
BOOL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(setAutohidesScrollers:),
@selector(replacementSetAutohidesScrollers:));
+ originalDealloc = (void (*)(id,
SEL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(dealloc), @selector(replacementDealloc));
+ originalTile = (void (*)(id,
SEL))SKReplaceInstanceMethodImplementationFromSelector(self, @selector(tile),
@selector(replacementTile));
// dictionary doesn't retain keys, so no retain cycles; pointer equality
used to compare views
scrollViewPlacards = CFDictionaryCreateMutable(CFAllocatorGetDefault(), 0,
NULL, &kCFTypeDictionaryValueCallBacks);
Modified: trunk/NSURL_SKExtensions.m
===================================================================
--- trunk/NSURL_SKExtensions.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/NSURL_SKExtensions.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -55,8 +55,8 @@
}
+ (void)load {
- originalInitFileURLWithPath = (id (*)(id, SEL,
id))SKReplaceMethodImplementationFromSelector(self,
@selector(initFileURLWithPath:), @selector(replacementInitFileURLWithPath:),
YES, SKReplaceOnly);
- originalInitWithString = (id (*)(id, SEL,
id))SKReplaceMethodImplementationFromSelector(self, @selector(initWithString:),
@selector(replacementInitWithString:), YES, SKReplaceOnly);
+ originalInitFileURLWithPath = (id (*)(id, SEL,
id))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(initFileURLWithPath:), @selector(replacementInitFileURLWithPath:));
+ originalInitWithString = (id (*)(id, SEL,
id))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(initWithString:), @selector(replacementInitWithString:));
}
+ (NSURL *)URLFromPasteboardAnyType:(NSPasteboard *)pasteboard {
Modified: trunk/PDFAnnotationLink_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationLink_SKExtensions.m 2008-08-06 22:03:42 UTC (rev
4363)
+++ trunk/PDFAnnotationLink_SKExtensions.m 2008-08-06 23:43:49 UTC (rev
4364)
@@ -61,8 +61,8 @@
}
+ (void)load {
- originalToolTip = (id (*)(id,
SEL))SKReplaceMethodImplementationFromSelector(self, @selector(toolTip),
@selector(replacementToolTip), YES, SKReplaceOnly);
- originalToolTipNoLabel = (id (*)(id,
SEL))SKReplaceMethodImplementationFromSelector(self, @selector(toolTip),
@selector(replacementToolTipNoLabel), YES, SKReplaceOnly);
+ originalToolTip = (id (*)(id,
SEL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(toolTip), @selector(replacementToolTip));
+ originalToolTipNoLabel = (id (*)(id,
SEL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(toolTip), @selector(replacementToolTipNoLabel));
}
- (BOOL)isLink { return YES; }
Modified: trunk/PDFAnnotationMarkup_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationMarkup_SKExtensions.m 2008-08-06 22:03:42 UTC (rev
4363)
+++ trunk/PDFAnnotationMarkup_SKExtensions.m 2008-08-06 23:43:49 UTC (rev
4364)
@@ -123,9 +123,9 @@
}
+ (void)load {
- originalDealloc = (void (*)(id,
SEL))SKReplaceMethodImplementationFromSelector(self, @selector(dealloc),
@selector(replacementDealloc), YES, SKReplaceOnly);
+ originalDealloc = (void (*)(id,
SEL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(dealloc), @selector(replacementDealloc));
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4)
- originalDrawWithBoxInContext = (void (*)(id, SEL, CGPDFBox,
CGContextRef))SKReplaceMethodImplementationFromSelector(self,
@selector(drawWithBox:inContext:),
@selector(replacementDrawWithBox:inContext:), YES, SKReplaceOnly);
+ originalDrawWithBoxInContext = (void (*)(id, SEL, CGPDFBox,
CGContextRef))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(drawWithBox:inContext:),
@selector(replacementDrawWithBox:inContext:));
lineRectsDict = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, NULL,
&kCFTypeDictionaryValueCallBacks);
}
Modified: trunk/PDFDisplayView_SKExtensions.m
===================================================================
--- trunk/PDFDisplayView_SKExtensions.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/PDFDisplayView_SKExtensions.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -226,21 +226,21 @@
void SKSwizzlePDFDisplayViewMethods() {
Class PDFDisplayViewClass = NSClassFromString(@"PDFDisplayView");
if (PDFDisplayViewClass) {
- originalResetCursorRects = (void (*)(id,
SEL))SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(resetCursorRects), (IMP)replacementResetCursorRects, NULL, YES,
SKReplaceOnly);
- originalPasswordEntered = (void (*)(id, SEL,
id))SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(passwordEntered:), (IMP)replacementPasswordEntered, NULL, YES,
SKReplaceOnly);
+ originalResetCursorRects = (void (*)(id,
SEL))SKReplaceInstanceMethodImplementation(PDFDisplayViewClass,
@selector(resetCursorRects), (IMP)replacementResetCursorRects);
+ originalPasswordEntered = (void (*)(id, SEL,
id))SKReplaceInstanceMethodImplementation(PDFDisplayViewClass,
@selector(passwordEntered:), (IMP)replacementPasswordEntered);
if ([[NSUserDefaults standardUserDefaults]
boolForKey:@"SKDisableExtendedPDFViewAccessibility"]) return;
- originalAccessibilityAttributeNames = (id (*)(id,
SEL))SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityAttributeNames),
(IMP)replacementAccessibilityAttributeNames, NULL, YES, SKReplaceOnly);
- originalAccessibilityParameterizedAttributeNames = (id (*)(id,
SEL))SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityParameterizedAttributeNames),
(IMP)replacementAccessibilityParameterizedAttributeNames, NULL, YES,
SKReplaceOnly);
- originalAccessibilityAttributeValue = (id (*)(id, SEL,
id))SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityAttributeValue:),
(IMP)replacementAccessibilityAttributeValue, NULL, YES, SKReplaceOnly);
- originalAccessibilityHitTest = (id (*)(id, SEL,
NSPoint))SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityHitTest:), (IMP)replacementAccessibilityHitTest, NULL,
YES, SKReplaceOnly);
- originalAccessibilityFocusedUIElement = (id (*)(id,
SEL))SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityFocusedUIElement),
(IMP)replacementAccessibilityFocusedUIElement, NULL, YES, SKReplaceOnly);
+ originalAccessibilityAttributeNames = (id (*)(id,
SEL))SKReplaceInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityAttributeNames),
(IMP)replacementAccessibilityAttributeNames);
+ originalAccessibilityParameterizedAttributeNames = (id (*)(id,
SEL))SKReplaceInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityParameterizedAttributeNames),
(IMP)replacementAccessibilityParameterizedAttributeNames);
+ originalAccessibilityAttributeValue = (id (*)(id, SEL,
id))SKReplaceInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityAttributeValue:),
(IMP)replacementAccessibilityAttributeValue);
+ originalAccessibilityHitTest = (id (*)(id, SEL,
NSPoint))SKReplaceInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityHitTest:), (IMP)replacementAccessibilityHitTest);
+ originalAccessibilityFocusedUIElement = (id (*)(id,
SEL))SKReplaceInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityFocusedUIElement),
(IMP)replacementAccessibilityFocusedUIElement);
- SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityRangeForPositionAttributeForParameter:),
(IMP)replacementAccessibilityRangeForPositionAttributeForParameter, "@@:@",
YES, SKSetOnly);
- SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityRTFForRangeAttributeForParameter:),
(IMP)replacementAccessibilityRTFForRangeAttributeForParameter, "@@:@", YES,
SKSetOnly);
- SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityAttributedStringForRangeAttributeForParameter:),
(IMP)replacementAccessibilityAttributedStringForRangeAttributeForParameter,
"@@:@", YES, SKSetOnly);
- SKReplaceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityStyleRangeForIndexAttributeForParameter:),
(IMP)replacementAccessibilityStyleRangeForIndexAttributeForParameter, "@@:@",
YES, SKSetOnly);
+ SKAddInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityRangeForPositionAttributeForParameter:),
(IMP)replacementAccessibilityRangeForPositionAttributeForParameter, "@@:@");
+ SKAddInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityRTFForRangeAttributeForParameter:),
(IMP)replacementAccessibilityRTFForRangeAttributeForParameter, "@@:@");
+ SKAddInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityAttributedStringForRangeAttributeForParameter:),
(IMP)replacementAccessibilityAttributedStringForRangeAttributeForParameter,
"@@:@");
+ SKAddInstanceMethodImplementation(PDFDisplayViewClass,
@selector(accessibilityStyleRangeForIndexAttributeForParameter:),
(IMP)replacementAccessibilityStyleRangeForIndexAttributeForParameter, "@@:@");
}
}
Modified: trunk/PDFDocument_SKExtensions.m
===================================================================
--- trunk/PDFDocument_SKExtensions.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/PDFDocument_SKExtensions.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -72,7 +72,7 @@
}
+ (void)load {
- originalGetPrintOperationForPrintInfo = (id (*)(id, SEL, id,
BOOL))SKReplaceMethodImplementationFromSelector(self,
@selector(getPrintOperationForPrintInfo:autoRotate:),
@selector(replacementGetPrintOperationForPrintInfo:autoRotate:), YES,
SKReplaceOnly);
+ originalGetPrintOperationForPrintInfo = (id (*)(id, SEL, id,
BOOL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(getPrintOperationForPrintInfo:autoRotate:),
@selector(replacementGetPrintOperationForPrintInfo:autoRotate:));
}
- (PDFSelection *)selectionByExtendingSelection:(PDFSelection *)selection
toPage:(PDFPage *)page atPoint:(NSPoint)point {
Modified: trunk/PDFPage_SKExtensions.m
===================================================================
--- trunk/PDFPage_SKExtensions.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/PDFPage_SKExtensions.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -74,7 +74,7 @@
}
+ (void)load {
- originalDealloc = (void (*)(id,
SEL))SKReplaceMethodImplementationFromSelector(self, @selector(dealloc),
@selector(replacementDealloc), YES, SKReplaceOnly);
+ originalDealloc = (void (*)(id,
SEL))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(dealloc), @selector(replacementDealloc));
bboxCache = CFDictionaryCreateMutable(NULL, 0, NULL,
&kSKNSRectDictionaryValueCallBacks);
}
Modified: trunk/SKFindTableView.m
===================================================================
--- trunk/SKFindTableView.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/SKFindTableView.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -173,7 +173,7 @@
+ (void)load {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- originalDrawWithFrameInView = (void (*)(id, SEL, NSRect,
id))SKReplaceMethodImplementationFromSelector(self,
@selector(drawWithFrame:inView:), @selector(replacementDrawWithFrame:inView:),
YES, SKReplaceOnly);
+ originalDrawWithFrameInView = (void (*)(id, SEL, NSRect,
id))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(drawWithFrame:inView:), @selector(replacementDrawWithFrame:inView:));
[pool release];
}
Modified: trunk/SKRuntime.h
===================================================================
--- trunk/SKRuntime.h 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/SKRuntime.h 2008-08-06 23:43:49 UTC (rev 4364)
@@ -54,6 +54,15 @@
SKSetOnly
};
-extern IMP SKReplaceMethodImplementation(Class aClass, SEL aSelector, IMP
anImp, const char *types, BOOL isInstance, int options);
-extern IMP SKReplaceMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector, BOOL isInstance, int options);
-extern void SKExchangeMethodImplementations(Class aClass, SEL aSelector1, SEL
aSelector2, BOOL isInstance);
+extern IMP SKSetMethodImplementation(Class aClass, SEL aSelector, IMP anImp,
const char *types, BOOL isInstance, int options);
+extern IMP SKSetMethodImplementationFromSelector(Class aClass, SEL aSelector,
SEL impSelector, BOOL isInstance, int options);
+
+extern IMP SKAddInstanceMethodImplementation(Class aClass, SEL aSelector, IMP
anImp, const char *types);
+extern IMP SKReplaceInstanceMethodImplementation(Class aClass, SEL aSelector,
IMP anImp);
+extern IMP SKAddInstanceMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector);
+extern IMP SKReplaceInstanceMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector);
+
+extern IMP SKAddClassMethodImplementation(Class aClass, SEL aSelector, IMP
anImp, const char *types);
+extern IMP SKReplaceClassMethodImplementation(Class aClass, SEL aSelector, IMP
anImp);
+extern IMP SKAddClassMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector);
+extern IMP SKReplaceClassMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector);
Modified: trunk/SKRuntime.m
===================================================================
--- trunk/SKRuntime.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/SKRuntime.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -127,7 +127,7 @@
#pragma mark API
// this is essentially class_replaceMethod, but handles instance/class
methods, returns any inherited implementation, and can get the types from an
inherited implementation
-IMP SKReplaceMethodImplementation(Class aClass, SEL aSelector, IMP anImp,
const char *types, BOOL isInstance, int options) {
+IMP SKSetMethodImplementation(Class aClass, SEL aSelector, IMP anImp, const
char *types, BOOL isInstance, int options) {
IMP imp = NULL;
if (anImp) {
Method method = isInstance ? class_getInstanceMethod(aClass,
aSelector) : class_getClassMethod(aClass, aSelector);
@@ -142,11 +142,39 @@
return imp;
}
-IMP SKReplaceMethodImplementationFromSelector(Class aClass, SEL aSelector, SEL
impSelector, BOOL isInstance, int options) {
+IMP SKSetMethodImplementationFromSelector(Class aClass, SEL aSelector, SEL
impSelector, BOOL isInstance, int options) {
Method method = isInstance ? class_getInstanceMethod(aClass, impSelector)
: class_getClassMethod(aClass, impSelector);
- return method ? SKReplaceMethodImplementation(aClass, aSelector,
SK_method_getImplementation(method), SK_method_getTypeEncoding(method),
isInstance, options) : NULL;
+ return method ? SKSetMethodImplementation(aClass, aSelector,
SK_method_getImplementation(method), SK_method_getTypeEncoding(method),
isInstance, options) : NULL;
}
-void SKExchangeMethodImplementationsForSelectors(Class aClass, SEL aSelector1,
SEL aSelector2, BOOL isInstance) {
- SKReplaceMethodImplementation(aClass, aSelector2,
SKReplaceMethodImplementationFromSelector(aClass, aSelector1, aSelector2,
isInstance, SKReplaceOnly), NULL, isInstance, SKReplaceOnly);
+extern IMP SKAddInstanceMethodImplementation(Class aClass, SEL aSelector, IMP
anImp, const char *types) {
+ return SKSetMethodImplementation(aClass, aSelector, anImp, types, YES,
SKSetOnly);
}
+
+extern IMP SKReplaceInstanceMethodImplementation(Class aClass, SEL aSelector,
IMP anImp) {
+ return SKSetMethodImplementation(aClass, aSelector, anImp, NULL, YES,
SKReplaceOnly);
+}
+
+extern IMP SKAddInstanceMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector) {
+ return SKSetMethodImplementationFromSelector(aClass, aSelector,
impSelector, YES, SKSetOnly);
+}
+
+extern IMP SKReplaceInstanceMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector) {
+ return SKSetMethodImplementationFromSelector(aClass, aSelector,
impSelector, YES, SKReplaceOnly);
+}
+
+extern IMP SKAddClassMethodImplementation(Class aClass, SEL aSelector, IMP
anImp, const char *types) {
+ return SKSetMethodImplementation(aClass, aSelector, anImp, types, NO,
SKSetOnly);
+}
+
+extern IMP SKReplaceClassMethodImplementation(Class aClass, SEL aSelector, IMP
anImp) {
+ return SKSetMethodImplementation(aClass, aSelector, anImp, NULL, NO,
SKReplaceOnly);
+}
+
+extern IMP SKAddClassMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector) {
+ return SKSetMethodImplementationFromSelector(aClass, aSelector,
impSelector, NO, SKSetOnly);
+}
+
+extern IMP SKReplaceClassMethodImplementationFromSelector(Class aClass, SEL
aSelector, SEL impSelector) {
+ return SKSetMethodImplementationFromSelector(aClass, aSelector,
impSelector, NO, SKReplaceOnly);
+}
Modified: trunk/SKThumbnailTableView.m
===================================================================
--- trunk/SKThumbnailTableView.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/SKThumbnailTableView.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -58,7 +58,7 @@
}
+ (void)load {
- originalTrackKnob = (void (*)(id, SEL,
id))SKReplaceMethodImplementationFromSelector(self, @selector(trackKnob:),
@selector(replacementTrackKnob:), YES, SKReplaceOnly);
+ originalTrackKnob = (void (*)(id, SEL,
id))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(trackKnob:), @selector(replacementTrackKnob:));
}
@end
Modified: trunk/SKTypeSelectHelper.m
===================================================================
--- trunk/SKTypeSelectHelper.m 2008-08-06 22:03:42 UTC (rev 4363)
+++ trunk/SKTypeSelectHelper.m 2008-08-06 23:43:49 UTC (rev 4364)
@@ -428,7 +428,7 @@
}
+ (void)load {
- originalMakeFirstResponder =
(typeof(originalMakeFirstResponder))SKReplaceMethodImplementationFromSelector(self,
@selector(makeFirstResponder:), @selector(replacementMakeFirstResponder:),
YES, SKReplaceOnly);
+ originalMakeFirstResponder =
(typeof(originalMakeFirstResponder))SKReplaceInstanceMethodImplementationFromSelector(self,
@selector(makeFirstResponder:), @selector(replacementMakeFirstResponder:));
}
@end
Modified: trunk/Skim.xcodeproj/project.pbxproj
===================================================================
--- trunk/Skim.xcodeproj/project.pbxproj 2008-08-06 22:03:42 UTC (rev
4363)
+++ trunk/Skim.xcodeproj/project.pbxproj 2008-08-06 23:43:49 UTC (rev
4364)
@@ -1167,8 +1167,6 @@
CE7F43900DE1F1980061A839 /*
NSUserDefaults_SKExtensions.m */,
CE41B2C90C08D17100E36EB7 /*
NSValue_SKExtensions.h */,
CE41B2CA0C08D17100E36EB7 /*
NSValue_SKExtensions.m */,
- CE1F67FD0E37552400E07E76 /* SKRuntime.h */,
- CE09FC3B0E3886C100BDF413 /* SKRuntime.m */,
);
name = "Foundation Categories";
sourceTree = "<group>";
@@ -1375,6 +1373,8 @@
children = (
CE64E8A10D92E670000AD050 /* SKCFCallBacks.h */,
CE64E8A20D92E670000AD050 /* SKCFCallBacks.m */,
+ CE1F67FD0E37552400E07E76 /* SKRuntime.h */,
+ CE09FC3B0E3886C100BDF413 /* SKRuntime.m */,
45A3BD060B4F0770002B297F /* SKStringConstants.h
*/,
45A3BD070B4F0770002B297F /* SKStringConstants.m
*/,
CE5BD6710C7ADF1500EBDCF7 /*
SKTypeSelectHelper.h */,
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit