[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:39:52 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit efcf18ffdb7a79ff56612ba94027b36e8ebc2fe8
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu May 1 16:44:19 2003 +0000

            Reviewed by John.
    
            - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement
    
            * WebView.subproj/WebHTMLViewPrivate.m:
            (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
            Just return nil when called with NSScrollWheelMask to work around the bug where any
            kind of event can be returned when this mask is passed. This will prevent scroll wheel
            events from being coalesced, but it's better than extracting events of all different
            types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the
            scroll wheel code in NSScrollView treats them as if they were scroll wheel events.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4244 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index c8b22ad..3068354 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,17 @@
+2003-05-01  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
+        - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement
+
+        * WebView.subproj/WebHTMLViewPrivate.m:
+        (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
+        Just return nil when called with NSScrollWheelMask to work around the bug where any
+        kind of event can be returned when this mask is passed. This will prevent scroll wheel
+        events from being coalesced, but it's better than extracting events of all different
+        types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the
+        scroll wheel code in NSScrollView treats them as if they were scroll wheel events.
+
 2003-05-01  Ken Kocienda  <kocienda at apple.com>
 
         Reviewed by Darin
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index ba85ca0..d9d0183 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -738,6 +738,24 @@ static BOOL inNSTextViewDrawRect;
     [super sendEvent:event];
 }
 
+// Workaround for bug 3245425 - nextEventMatchingMask:NSScrollWheelMask allows any kind of event.
+// Better to just not return any events (and not coalesce scroll wheel events) than to consume and
+// return other types of events.
+- (NSEvent *)nextEventMatchingMask:(unsigned int)mask untilDate:(NSDate *)expiration inMode:(NSString *)mode dequeue:(BOOL)deqFlag
+{
+    if (mask == NSScrollWheelMask) {
+        return nil;
+    }
+
+    NSEvent *event = [super nextEventMatchingMask:mask untilDate:expiration inMode:mode dequeue:deqFlag];
+
+    // This assertion double-checks that we only get the right types of events from the superclass.
+    // This is part of how I caught bug 3245425 in the act.
+    ASSERT(event == nil || ((1 << [event type]) & mask));
+
+    return event;
+}
+
 @end
 
 @implementation NSMutableDictionary (WebHTMLViewExtras)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list