Closed Bug 236446 Opened 21 years ago Closed 21 years ago

Fix for windows activation endless loop

Categories

(Core Graveyard :: GFX: BeOS, defect)

x86
BeOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: sergei_d, Assigned: sergei_d)

Details

Attachments

(1 file)

There is awful issue rising in our port from time to time, depemding on changes of focus control in upper layers of code - Window activation race. When windows tend to fail into infinite loop of activation. Especially annoying for people who don't know that Mozilla has tabbed browsing. Mostly it is caused by multithreaded nature of BeOS windowing, way it is workarounded in native thread disliking mozilla and very long message pass-through - from BeAPI hook via CallMethodAsync to mozilla-messagging and not-so effective port-queue to mozilla view-control layers and back to widget code. So there is big chance to that just deactivated by e.g. user action window just gets SetFocus command (which activates it again) Fix looked quite simple, in CallMethod() in case nsWindow::ONACTIVATE: just add check before invoking DispatchFocus() if mView->Window->IsActive() or vice versa, depending on message.
Attached patch patch (diff -up)Splinter Review
simple patch. Way to test before and after patch. (Better in Focus Follow Mouse mode, but simple mode works too) Open Mozilla, then start fast (without waiting for opening previously clicked component) clicking on components icons in left bottom corner. Also try to click fastly forth and back on yellow tabs of rising windows or/and move mose over if in FFM mode. Result before patch - windows fall in infinite activation loop. Expected result of patch - no endless loop.
Comment on attachment 142949 [details] [diff] [review] patch (diff -up) review request
Attachment #142949 - Flags: review?(simontaylor2)
Comment on attachment 142949 [details] [diff] [review] patch (diff -up) r=simontaylor2@gawab.com Works well for me.
Attachment #142949 - Flags: review?(simontaylor2) → review+
Comment on attachment 142949 [details] [diff] [review] patch (diff -up) reviewed, no sr-required (port-only code in port-specific folder)
Attachment #142949 - Flags: approval1.7b?
Attachment #142949 - Flags: approval1.7b? → approval1.7b+
Patch commited: "[BeOS] bug 236446 Fix for windows activation endless loop, review=simontaylor2, no sr required(port-only), approval=dbaron" Marking bug fixed
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: