Revision: 3837
http://skim-app.svn.sourceforge.net/skim-app/?rev=3837&view=rev
Author: hofman
Date: 2008-05-02 07:26:55 -0700 (Fri, 02 May 2008)
Log Message:
-----------
Method swizzling for resetting cursor and hover rect, because this may have
been overriden already.
Modified Paths:
--------------
trunk/PDFDisplayView_SKExtensions.m
Modified: trunk/PDFDisplayView_SKExtensions.m
===================================================================
--- trunk/PDFDisplayView_SKExtensions.m 2008-05-02 14:20:28 UTC (rev 3836)
+++ trunk/PDFDisplayView_SKExtensions.m 2008-05-02 14:26:55 UTC (rev 3837)
@@ -50,15 +50,9 @@
@implementation PDFDisplayView (SKExtensions)
+static IMP originalResetCursorRects = NULL;
static IMP originalPasswordEntered = NULL;
-- (void)replacementPasswordEntered:(id)sender {
- SKPDFDocument *document = [[[self window] windowController] document];
- originalPasswordEntered(self, _cmd, sender);
- if ([document respondsToSelector:@selector(savePasswordInKeychain:)])
- [document savePasswordInKeychain:[sender stringValue]];
-}
-
- (SKPDFView *)skpdfView {
id pdfView = nil;
@try { pdfView = [self valueForKey:@"pdfView"]; }
@@ -66,11 +60,18 @@
return [pdfView isKindOfClass:[SKPDFView class]] ? pdfView : nil;
}
-- (void)resetCursorRects {
- [super resetCursorRects];
- [[self skpdfView] resetCursorRects];
+- (void)replacementResetCursorRects {
+ originalResetCursorRects(self, _cmd);
+ [[self skpdfView] resetHoverRects];
}
+- (void)replacementPasswordEntered:(id)sender {
+ SKPDFDocument *document = [[[self window] windowController] document];
+ originalPasswordEntered(self, _cmd, sender);
+ if ([document respondsToSelector:@selector(savePasswordInKeychain:)])
+ [document savePasswordInKeychain:[sender stringValue]];
+}
+
#pragma mark Accessibility
- (NSArray *)replacementAccessibilityAttributeNames {
@@ -147,6 +148,7 @@
}
+ (void)load {
+ originalResetCursorRects = OBReplaceMethodImplementationWithSelector(self,
@selector(resetCursorRects), @selector(replacementResetCursorRects));
if ([self instancesRespondToSelector:@selector(passwordEntered:)])
originalPasswordEntered =
OBReplaceMethodImplementationWithSelector(self, @selector(passwordEntered:),
@selector(replacementPasswordEntered:));
if ([self
instancesRespondToSelector:@selector(accessibilityAttributeNames)])
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 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit