mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-22 15:17:29 +09:00
Bug 1317030 - Removing/reattaching an element from the DOM triggers spurious mouseenter events
native in moebius
This commit is contained in:
parent
efa09515f6
commit
e71635b5ee
1 changed files with 3 additions and 1 deletions
|
|
@ -4034,7 +4034,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
~EnterLeaveDispatcher()
|
void Dispatch()
|
||||||
{
|
{
|
||||||
if (mEventMessage == eMouseEnter || mEventMessage == ePointerEnter) {
|
if (mEventMessage == eMouseEnter || mEventMessage == ePointerEnter) {
|
||||||
for (int32_t i = mTargets.Count() - 1; i >= 0; --i) {
|
for (int32_t i = mTargets.Count() - 1; i >= 0; --i) {
|
||||||
|
|
@ -4119,6 +4119,7 @@ EventStateManager::NotifyMouseOut(WidgetMouseEvent* aMouseEvent,
|
||||||
// Fire mouseout
|
// Fire mouseout
|
||||||
DispatchMouseOrPointerEvent(aMouseEvent, isPointer ? ePointerOut : eMouseOut,
|
DispatchMouseOrPointerEvent(aMouseEvent, isPointer ? ePointerOut : eMouseOut,
|
||||||
wrapper->mLastOverElement, aMovingInto);
|
wrapper->mLastOverElement, aMovingInto);
|
||||||
|
leaveDispatcher.Dispatch();
|
||||||
|
|
||||||
wrapper->mLastOverFrame = nullptr;
|
wrapper->mLastOverFrame = nullptr;
|
||||||
wrapper->mLastOverElement = nullptr;
|
wrapper->mLastOverElement = nullptr;
|
||||||
|
|
@ -4193,6 +4194,7 @@ EventStateManager::NotifyMouseOver(WidgetMouseEvent* aMouseEvent,
|
||||||
DispatchMouseOrPointerEvent(aMouseEvent,
|
DispatchMouseOrPointerEvent(aMouseEvent,
|
||||||
isPointer ? ePointerOver : eMouseOver,
|
isPointer ? ePointerOver : eMouseOver,
|
||||||
aContent, lastOverElement);
|
aContent, lastOverElement);
|
||||||
|
enterDispatcher->Dispatch();
|
||||||
wrapper->mLastOverElement = aContent;
|
wrapper->mLastOverElement = aContent;
|
||||||
} else {
|
} else {
|
||||||
wrapper->mLastOverFrame = nullptr;
|
wrapper->mLastOverFrame = nullptr;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue