[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