Bugzilla@Mozdev – Bug 26346
On drag&drop, mouserollover'd tabs' submenus don't close anymore
Last modified: 2017-03-08 01:23:20
You need to log in before you can comment on or make changes to this bug.
Created an attachment (id=8270) [details] Video: Drag+drop'ing an e-mail w/ mouse rolling over other tabs Thunderbird 45.6.0 (OpenSUSE repo's), QuickFolders auto-updated to 4.7 (pro) on Saturday. Ever since, when dragging an e-mail to drop it into a tab, the submenus opened as I drag the e-mail *across* a tab do not close automatically again; only the tab I drop the e-mail into auto-closes. I have to click someplace to have the extra submenus close again (see attached screencast video).
This was caused by falsely renaming a function to onDragEnd because of impending changes in the Mozilla main code base; unfortunately the convenience wrapper https://dxr.mozilla.org/comm-central/source/suite/mailnews/nsDragAndDrop.js#293 nsDragAndDrop in Thunderbird's comm-central database does not yet follow the new naming conventions and https://dxr.mozilla.org/comm-central/source/suite/mailnews/nsDragAndDrop.js#495 checks for the existence of a function onDragExit in the drag observer.
Created an attachment (id=8271) [details] 4.7.1 pre 15 leaves the menus alone - I would stilll like to rmeove the popup menus when the mouse leaves the button (and not just when the next button is hit) but unfortunately the dragExit event is also triggered when the mouse cursor leave the button in order to go over the menu itself (closing the menu to be closed when the user points on it). Still trying to figure out a way to make this even more robust.
Created an attachment (id=8272) [details] 4.7.1 pre 20 I managed to use event.relatedTarget for checking whether the cursor has landed in the box / hbox containing the toolbar (or current folder bar) and hide the menu in this case. In my tests event.relatedTarget is null when the cursor hits the poppup menu.
Installed pre 20 and it works, thank you very much! Remaining (but IMHO harmless) corner case is that the submenu remains open when you drag back *out* of the QF tabs bar *over the submenu* (which extends down and across the edge of the bar).
(In reply to comment #4) > Installed pre 20 and it works, thank you very much! > > Remaining (but IMHO harmless) corner case is that the submenu remains open when > you drag back *out* of the QF tabs bar *over the submenu* (which extends down > and across the edge of the bar). > Yeah that one is probably only one of the many edge cases. The problem is that I cannot put the removal of the popup on the dragenter event for the _button_ because this also fires every time I drag the mail on the submenu or any of its children (the events bubble up). And the dragexit event does not fire unless I exit the button "directly". If I drag down into the submenu, dragexit doesn't fire, and neither when I drag away from the popup menu. the drageexit event also doesn't tell me anything about where I am when it happens. this stuff is hellishly difficult to debug as breakpoints do affect the drag events, so the only way is via error console and printouts. Which I do using QF debug mode and right-click and then activating extensions.quickfolders.debug.dnd = true
Resolved in Release 4.7.1 - published 01/March/2017