mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Bug 1653949 - Part 4: Add MouseExitFromWidget event to the delayed event queue if event handling is suppressed; r=smaug
So that we won't lost it if it happens in nested event loop. Differential Revision: https://phabricator.services.mozilla.com/D86953
This commit is contained in:
parent
85d4338685
commit
e4efe37095
@ -7610,7 +7610,8 @@ bool PresShell::EventHandler::MaybeDiscardOrDelayMouseEvent(
|
|||||||
(aGUIEvent->mMessage == eMouseUp ||
|
(aGUIEvent->mMessage == eMouseUp ||
|
||||||
// contextmenu is triggered after right mouseup on Windows and
|
// contextmenu is triggered after right mouseup on Windows and
|
||||||
// right mousedown on other platforms.
|
// right mousedown on other platforms.
|
||||||
aGUIEvent->mMessage == eContextMenu)) {
|
aGUIEvent->mMessage == eContextMenu ||
|
||||||
|
aGUIEvent->mMessage == eMouseExitFromWidget)) {
|
||||||
UniquePtr<DelayedMouseEvent> delayedMouseEvent =
|
UniquePtr<DelayedMouseEvent> delayedMouseEvent =
|
||||||
MakeUnique<DelayedMouseEvent>(aGUIEvent->AsMouseEvent());
|
MakeUnique<DelayedMouseEvent>(aGUIEvent->AsMouseEvent());
|
||||||
PushDelayedEventIntoQueue(std::move(delayedMouseEvent));
|
PushDelayedEventIntoQueue(std::move(delayedMouseEvent));
|
||||||
|
@ -292,6 +292,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
|
|||||||
AssignMouseEventBaseData(aEvent, aCopyTargets);
|
AssignMouseEventBaseData(aEvent, aCopyTargets);
|
||||||
AssignPointerHelperData(aEvent, /* aCopyCoalescedEvents */ true);
|
AssignPointerHelperData(aEvent, /* aCopyCoalescedEvents */ true);
|
||||||
|
|
||||||
|
mExitFrom = aEvent.mExitFrom;
|
||||||
mIgnoreRootScrollFrame = aEvent.mIgnoreRootScrollFrame;
|
mIgnoreRootScrollFrame = aEvent.mIgnoreRootScrollFrame;
|
||||||
mClickCount = aEvent.mClickCount;
|
mClickCount = aEvent.mClickCount;
|
||||||
mUseLegacyNonPrimaryDispatch = aEvent.mUseLegacyNonPrimaryDispatch;
|
mUseLegacyNonPrimaryDispatch = aEvent.mUseLegacyNonPrimaryDispatch;
|
||||||
|
Loading…
Reference in New Issue
Block a user