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

Reply via email to