if (new_value) {
/* turn on use_global_engine option */
ibus->use_global_engine = TRUE;
+ if (ibus->panel && ibus->focused_context == NULL) {
+ bus_panel_proxy_focus_in (ibus->panel, ibus->fake_context);
+ }
}
else {
/* turn off use_global_engine option */
if (ibus->focused_context != NULL) {
bus_panel_proxy_focus_in (ibus->panel, ibus->focused_context);
}
+ else if (ibus->use_global_engine) {
+ bus_panel_proxy_focus_in (ibus->panel, ibus->fake_context);
+ }
}
}
else if (g_strcmp0 (name, IBUS_SERVICE_CONFIG) == 0) {