GNOME Bugzilla – Bug 696141
keyboard: Use the gtk+ ibus module if there's at least one ibus source
Last modified: 2013-03-19 15:19:50 UTC
This isn't a complete fix for https://bugzilla.redhat.com/show_bug.cgi?id=896490 and https://bugzilla.gnome.org/show_bug.cgi?id=695334 but it definitely helps to shorten the race window.
Created attachment 239254 [details] [review] keyboard: Use the gtk+ ibus module if there's at least one ibus source Switching the gtk+ IM module when switching input source adds delays and races with the input events themselves. Thus it's better to always use the ibus module as long as the user has at least one ibus input source.
Review of attachment 239254 [details] [review]: ::: plugins/keyboard/gsd-keyboard-manager.c @@ +346,3 @@ + gchar *current_module; + + if (need_ibus (sources)) short-circuit here to handle sources == NULL. Or better, split the code below into a "get_im_module"/"set_im_module" pair.
Created attachment 239265 [details] [review] keyboard: Use the gtk+ ibus module if there's at least one ibus source -- (In reply to comment #2) > + if (need_ibus (sources)) > > short-circuit here to handle sources == NULL. Ok. > Or better, split the code below into a "get_im_module"/"set_im_module" pair. I'd rather keep apply_input_sources_settings() as simple as possible and have the conditionals encapsulated here.
Attachment 239265 [details] pushed as 39b26a6 - keyboard: Use the gtk+ ibus module if there's at least one ibus source