Closed
Bug 138265
Opened 22 years ago
Closed 22 years ago
0S/2 NS_ACTIVATION event sometime fires late, breaking selection
Categories
(Core :: DOM: UI Events & Focus Handling, defect)
Tracking
()
VERIFIED
DUPLICATE
of bug 145561
People
(Reporter: joki, Assigned: joki)
References
()
Details
This bug was exposed by the fix for bug 56240. 56240 fixes selection state getting out of sync when switching applications or losing mouse events for other reasons. We now reset mouse state when we get an NS_ACTIVATION event and start over. The NS_ACTIVATION event should fire before we start handling mouse behavior and never after. Saari, owner of the NS_ACTIVATION event says that's a reasonable assumption. However, it is apparently not true all the time for the current OS/2 widget lib and this needs to be fixed. The reason for this variance is not yet clear so we have a couple of options. 1)Leave selection broken until the widget library is fixed. 2)#ifdef the fix for 56240 to not affect OS/2 I vote the second fix for the moment. However, such temporary fixes often become permanent so we may want to fix this right. Saari says that late NS_ACTIVATION event may have other bad effects as well. The appropriate code is in nsEventStateManager.cpp under NS_ACTIVATE: + //disable selection mousedown state on activation + nsCOMPtr<nsIFrameSelection> frameSel; + shell->GetFrameSelection(getter_AddRefs(frameSel)); + if (frameSel) { + frameSel->SetMouseDownState(PR_FALSE); I'm told that en.ecomstation.ru exhibits the problem but I have no 0S/2 workstation to test on. Thanks to Jessica Blanco for all the debugging info.
Assignee | ||
Comment 1•22 years ago
|
||
By the way. I can own this for now, and if we go with the temporary #ifdef fix I can even write it (though almost anyone else could either). But if we go with the other fix someone else has to take this. I don't know anything about the 0S/2 widget library.
Comment 2•22 years ago
|
||
Can you give a sequence of events of how things should happen (on Windows for instance) I've been working on the OS/2 focus code trying to get it to mirrow Windows better - what I probably need is a better understanding of how Mozilla expects things to happen so I can mirror that rather than Windows. Thanks
Comment 3•22 years ago
|
||
*** Bug 134352 has been marked as a duplicate of this bug. ***
Updated•22 years ago
|
Comment 4•22 years ago
|
||
I rewrote the OS/2 focus code to be just like Windows and all seems well. *** This bug has been marked as a duplicate of 145561 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
Updated•5 years ago
|
Component: Event Handling → User events and focus handling
You need to log in
before you can comment on or make changes to this bug.
Description
•