After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 785805 - Keyboard navigation with tab is broken by search entry widget
Keyboard navigation with tab is broken by search entry widget
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: User Interface
3.4.x
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-08-04 10:57 UTC by Sam Thursfield
Modified: 2017-08-05 10:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix keyboard navigation over the search entry (1011 bytes, patch)
2017-08-04 12:46 UTC, Sam Thursfield
committed Details | Review

Description Sam Thursfield 2017-08-04 10:57:18 UTC
The search entry widget in the source toolbar swallows 'tab' and 'shift-tab' keyboard events, which means that keyboard navigation around the UI is impossible.

Reproduced with Rhythmbox 3.4.1 from Fedora 25.
Comment 1 Sam Thursfield 2017-08-04 12:17:42 UTC
As a workaround, ctrl+shift+tab will get the cursor out of the entry again.

It seems that rb_search_entry_grab_focus() is the issue, for some reason it gets called from gtk_container_focus() when we try to move the focus forwards and presumably steals focus back again.
Comment 2 Sam Thursfield 2017-08-04 12:46:26 UTC
Created attachment 356953 [details] [review]
Fix keyboard navigation over the search entry

The RbSearchEntry widget is a container so it can't have the focus.
It contains a GtkEntry which can. Setting 'can-focus' to TRUE was
confusing the gtk_container_focus() function causing focus to get
stuck on the RbSearchEntry.
Comment 3 Jonathan Matthew 2017-08-05 10:37:52 UTC
Review of attachment 356953 [details] [review]:

pushed as commit a50d21f
Comment 4 Jonathan Matthew 2017-08-05 10:41:56 UTC
I've had the same change in a branch somewhere for ages.