GNOME Bugzilla – Bug 738387
ComboBox in appears-as-list-mode: popup is not hidden when focus is lost
Last modified: 2017-08-27 21:07:14 UTC
Yesterday updated Debian Jessie which I believe also updated the GTK to 3.14.1 Inhouse application developed under Anjuta working since 2013 until the update. Drop down list of entries in combobox - click outside the combox area but within the application window and the drop down does not disappear - click on another combobox and that drops down but still the first combo is shown underneath. Click within the application window area - both drop downs are still there. Click outside and only the last drop down is closed. Click on the drop-down arrow on the combobox and the drop down goes away.
that certainly works in other gtk applications; I would assume that your application does something that breaks the gtk functionality. Can you create a small testcase that reproduces the problem ?
Ran Tweak Tool - Appearance Same problem occurs with all the Theme combos too Also under Desktop - drop-down Lock Screen and then drop down Background and the drop down just overlays the previous one. That wasn't possible to see on the Appearance tab due to the length of drop-downs.
HAH!! The behaviour is affected by the GTK+ Theme selected I had reported problems under bug no. 738391 and, whilst this is a different manifestation, it seems that the Theme changes that were downloaded with GTK 3.14.1 may be to blame. Maybe it is the "appears-as-list" that I have seen reported as giving rise to problems for years - I need this for my comboboxes and it is in my default theme. I will have a further delve.
ah, that is helpful information. Yes, appears-as-list comboboxes are a little more buggy than the other kind.
Have now defaulted to Adwaita Theme because too many issues were arising. Run my application which changes the "appears-as-list" for comboboxes - so that is the only change from default. In my app select 1 combo which drops down OK Click on second combo - the drop down just overlays the first which remains displayed Click outside the drop down area and the second drop-down goes away - but the first is still there. Drag the window by the title bar and the first drop down does not go with it! It is, however, still associated with the combo because clicking on that again destroys the drop-down. The drop down stays put even when the app window is moved onto a different monitor. It also appears that the Tweak Tool combos behave differently - they no longer "drop down". I guess that this is because previously I had defined "appears-as-list" for GtkCombobox within the theme so it affected all apps whereas now, because I don't seem to be able to do the same using Adwaita, I put the style change within my app.
Pretty sure this, or some variation of it, still occurs. appears-as-list comboboxes are completely wrecked - no wonder they were deprecated. I'm downgrading from major to normal for that reason: while they're a trainwreck, they're deprecated and easily replaced with menu-mode comboboxes. One of these days I'll figure all these bugs out... the funny thing is that I have no desire to use list-mode comboboxes myself, and removed all the list-mode code in GTK+ 4. :)
(In reply to Jim from comment #0) > Drop down list of entries in combobox - click outside the combox area but > within the application window and the drop down does not disappear - click > on another combobox and that drops down but still the first combo is shown > underneath. > > Click within the application window area - both drop downs are still there. > Click outside and only the last drop down is closed. > > Click on the drop-down arrow on the combobox and the drop down goes away. I can confirm all of this as of 3.22 with list-mode ComboBoxes. Thanks for the detailed testing! (In reply to Jim from comment #5) > The drop down stays put even when the app > window is moved onto a different monitor. I guess that's Bug 468868.
It looks like this will be fixed by the patch in https://bugzilla.gnome.org/show_bug.cgi?id=776793
*** This bug has been marked as a duplicate of bug 776793 ***