[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:16:38 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 8ed959e65c85c4c8b3758b6c1455af55bda96b7b
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 19 22:17:33 2002 +0000

            Reviewed by John.
    
    	A number of non-reproducible bugs look like they may be due to bad
    	event objects. I was assuming that callers retained the events until
    	the functions handling them returned, but that assumption may be wrong.
    	So I'm retaining/releasing the current event. This is correct in any case.
    	I'm also adding a new assertion, but since assertions are in Development
    	builds only that is very low risk.
    
            * kwq/KWQKHTMLPart.mm:
            (KWQKHTMLPart::keyEvent): Add retain/release and a new assertion.
            (KWQKHTMLPart::mouseDown): Ditto.
            (KWQKHTMLPart::mouseDragged): Ditto.
            (KWQKHTMLPart::mouseUp): Ditto.
            (KWQKHTMLPart::mouseMoved): Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 84fd03e..9fd7d7b 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,21 @@
+2002-12-19  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
+	A number of non-reproducible bugs look like they may be due to bad
+	event objects. I was assuming that callers retained the events until
+	the functions handling them returned, but that assumption may be wrong.
+	So I'm retaining/releasing the current event. This is correct in any case.
+	I'm also adding a new assertion, but since assertions are in Development
+	builds only that is very low risk.
+
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::keyEvent): Add retain/release and a new assertion.
+        (KWQKHTMLPart::mouseDown): Ditto.
+        (KWQKHTMLPart::mouseDragged): Ditto.
+        (KWQKHTMLPart::mouseUp): Ditto.
+        (KWQKHTMLPart::mouseMoved): Ditto.
+
 === Alexander-41 ===
 
 2002-12-18  Richard Williamson   <rjw at apple.com>
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 84fd03e..9fd7d7b 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,21 @@
+2002-12-19  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
+	A number of non-reproducible bugs look like they may be due to bad
+	event objects. I was assuming that callers retained the events until
+	the functions handling them returned, but that assumption may be wrong.
+	So I'm retaining/releasing the current event. This is correct in any case.
+	I'm also adding a new assertion, but since assertions are in Development
+	builds only that is very low risk.
+
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::keyEvent): Add retain/release and a new assertion.
+        (KWQKHTMLPart::mouseDown): Ditto.
+        (KWQKHTMLPart::mouseDragged): Ditto.
+        (KWQKHTMLPart::mouseUp): Ditto.
+        (KWQKHTMLPart::mouseMoved): Ditto.
+
 === Alexander-41 ===
 
 2002-12-18  Richard Williamson   <rjw at apple.com>
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 6667715..0ca64cf 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -669,7 +669,7 @@ bool KWQKHTMLPart::keyEvent(NSEvent *event)
     }
     
     NSEvent *oldCurrentEvent = _currentEvent;
-    _currentEvent = event;
+    _currentEvent = [event retain];
 
     const char *characters = [[event characters] lossyCString];
     int ascii = (characters != nil && strlen(characters) == 1) ? characters[0] : 0;
@@ -694,6 +694,8 @@ bool KWQKHTMLPart::keyEvent(NSEvent *event)
         node->dispatchKeyEvent(&qEvent);
     }
 
+    ASSERT(_currentEvent == event);
+    [event release];
     _currentEvent = oldCurrentEvent;
 
     return result;
@@ -978,7 +980,7 @@ void KWQKHTMLPart::mouseDown(NSEvent *event)
     _mouseDownView = nil;
 
     NSEvent *oldCurrentEvent = _currentEvent;
-    _currentEvent = event;
+    _currentEvent = [event retain];
     
     NSResponder *oldFirstResponderAtMouseDownTime = _firstResponderAtMouseDownTime;
     _firstResponderAtMouseDownTime = [[[d->m_view->getView() window] firstResponder] retain];
@@ -987,9 +989,12 @@ void KWQKHTMLPart::mouseDown(NSEvent *event)
         buttonForCurrentEvent(), stateForCurrentEvent(), [event clickCount]);
     d->m_view->viewportMousePressEvent(&kEvent);
     
-    _currentEvent = oldCurrentEvent;
     [_firstResponderAtMouseDownTime release];
     _firstResponderAtMouseDownTime = oldFirstResponderAtMouseDownTime;
+
+    ASSERT(_currentEvent == event);
+    [event release];
+    _currentEvent = oldCurrentEvent;
 }
 
 void KWQKHTMLPart::mouseDragged(NSEvent *event)
@@ -999,11 +1004,13 @@ void KWQKHTMLPart::mouseDragged(NSEvent *event)
     }
 
     NSEvent *oldCurrentEvent = _currentEvent;
-    _currentEvent = event;
+    _currentEvent = [event retain];
 
     QMouseEvent kEvent(QEvent::MouseMove, QPoint([event locationInWindow]), Qt::LeftButton, Qt::LeftButton);
     d->m_view->viewportMouseMoveEvent(&kEvent);
     
+    ASSERT(_currentEvent == event);
+    [event release];
     _currentEvent = oldCurrentEvent;
 }
 
@@ -1012,9 +1019,9 @@ void KWQKHTMLPart::mouseUp(NSEvent *event)
     if (!d->m_view || _sendingEventToSubview) {
         return;
     }
-    
+
     NSEvent *oldCurrentEvent = _currentEvent;
-    _currentEvent = event;
+    _currentEvent = [event retain];
 
     // Our behavior here is a little different that Qt. Qt always sends
     // a mouse release event, even for a double click. To correct problems
@@ -1032,6 +1039,8 @@ void KWQKHTMLPart::mouseUp(NSEvent *event)
         d->m_view->viewportMouseReleaseEvent(&releaseEvent);
     }
     
+    ASSERT(_currentEvent == event);
+    [event release];
     _currentEvent = oldCurrentEvent;
     
     _mouseDownView = nil;
@@ -1044,11 +1053,13 @@ void KWQKHTMLPart::mouseMoved(NSEvent *event)
     }
     
     NSEvent *oldCurrentEvent = _currentEvent;
-    _currentEvent = event;
+    _currentEvent = [event retain];
     
     QMouseEvent kEvent(QEvent::MouseMove, QPoint([event locationInWindow]), 0, stateForCurrentEvent());
     d->m_view->viewportMouseMoveEvent(&kEvent);
     
+    ASSERT(_currentEvent == event);
+    [event release];
     _currentEvent = oldCurrentEvent;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list