Closed Bug 15537 Opened 21 years ago Closed 21 years ago

[GTK/GFX] Combobox Rollup called when it shouldn't be


(Core :: Layout: Form Controls, defect, P3)






(Reporter: pollmann, Assigned: pavlov)




"GFX Combobox doesn't work on GTK"

This is a GTK specific bug (possibly Mac too).  When a combobox is dropped down,
then clicked on, the click event is not sent to the frame.  Thus, the selection
isn't updated, and onchange events aren't sent out.

This seems rooted in the code here, so I'm giving it to Pavlov even though it
may really be somebody else's:
if (rollupWidget != thisWidget...

In this case, even when I click on the rollup widget, 'thisWidget' and
'rollupWidget' have different values, and the Rollup handler is called.

In a random fit of desperation, I remembered Pav saying something about removing
the CaptureMouse() call on Friday, so I unleashed nedit on
layout/html/forms/src/nsListControlFrame::CaptureMouseEvents() and axed the code
Rods marked "// XXX this is temp code" which calls the widget's CaptureMouse().
It does allow clicks on other places within the app to roll up the combo.
However, as with most desperate acts, it did not have the intended effect.  The
click was still not making it past Pav's impenetrable "if rollup != this".

Can you fix this?
Closed: 21 years ago
Resolution: --- → FIXED
checked in fix
*** Bug 15699 has been marked as a duplicate of this bug. ***
If there's an easy way to verify this, please let me know so that I may do so...
The duplicate bug has a better description of the problem.

On Linux, go to any page with a combobox.  Click on it to select an option.  If
the text area of the option appears to have been updated normally that the bug
was fixed.  Before this bug was fixed, clicking on the combobox didn't update
the text or selected options, so comboboxes were very broken.

Somebody please slap me for not looking at the duplicate first. :)
Using the 1999110908 build and the handy test case at the URL above (thanks very
much), this is verified fixed under Red Hat Linux 6. Marking as such.
You need to log in before you can comment on or make changes to this bug.