mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 970220 - Set relatedTarget property of all pointer events to null after invoking the setPointerCapture method on an element. r=smaug
This commit is contained in:
parent
50a37c8c05
commit
1a180b86fc
@ -3534,12 +3534,11 @@ EventStateManager::DispatchMouseOrPointerEvent(WidgetMouseEvent* aMouseEvent,
|
||||
}
|
||||
|
||||
nsEventStatus status = nsEventStatus_eIgnore;
|
||||
nsAutoPtr<WidgetPointerEvent> newPointerEvent;
|
||||
nsAutoPtr<WidgetMouseEvent> newMouseEvent;
|
||||
WidgetMouseEvent* event = nullptr;
|
||||
nsAutoPtr<WidgetMouseEvent> event;
|
||||
WidgetPointerEvent* sourcePointer = aMouseEvent->AsPointerEvent();
|
||||
if (sourcePointer) {
|
||||
PROFILER_LABEL("Input", "DispatchPointerEvent");
|
||||
nsAutoPtr<WidgetPointerEvent> newPointerEvent;
|
||||
newPointerEvent =
|
||||
new WidgetPointerEvent(aMouseEvent->mFlags.mIsTrusted, aMessage,
|
||||
aMouseEvent->widget);
|
||||
@ -3548,20 +3547,22 @@ EventStateManager::DispatchMouseOrPointerEvent(WidgetMouseEvent* aMouseEvent,
|
||||
newPointerEvent->width = sourcePointer->width;
|
||||
newPointerEvent->height = sourcePointer->height;
|
||||
newPointerEvent->inputSource = sourcePointer->inputSource;
|
||||
event = newPointerEvent.get();
|
||||
newPointerEvent->relatedTarget = nsIPresShell::GetPointerCapturingContent(sourcePointer->pointerId)
|
||||
? nullptr
|
||||
: aRelatedContent;
|
||||
event = newPointerEvent.forget();
|
||||
} else {
|
||||
PROFILER_LABEL("Input", "DispatchMouseEvent");
|
||||
newMouseEvent =
|
||||
event =
|
||||
new WidgetMouseEvent(aMouseEvent->mFlags.mIsTrusted, aMessage,
|
||||
aMouseEvent->widget, WidgetMouseEvent::eReal);
|
||||
event = newMouseEvent.get();
|
||||
event->relatedTarget = aRelatedContent;
|
||||
}
|
||||
event->refPoint = aMouseEvent->refPoint;
|
||||
event->modifiers = aMouseEvent->modifiers;
|
||||
event->button = aMouseEvent->button;
|
||||
event->buttons = aMouseEvent->buttons;
|
||||
event->pluginEvent = aMouseEvent->pluginEvent;
|
||||
event->relatedTarget = aRelatedContent;
|
||||
event->inputSource = aMouseEvent->inputSource;
|
||||
|
||||
nsWeakFrame previousTarget = mCurrentTarget;
|
||||
|
Loading…
Reference in New Issue
Block a user