Red Hat Bugzilla – Bug 540773
ibus: Need a common word when ibus sends a "value-changed" signal.
Last modified: 2009-11-24 00:11:38 EST
Created attachment 373336 [details]
Patch for ibus/ibus/config.py
Currently ibus-anthy causes a KeyError exception when the key is not defined in ibus-anthy.
E.g. bug 526881.
When ibus-setup is launched, ibus-gconf calls ibus_config_service_value_changed() in `config.c:`_value_changed_cb().
And ibus-daemon calls "value-changed" signal in `config.py:`__value_changed_cb().
When ibus-anthy receives the "value-changed" signal, the section name "panel" is not defined in ibus-anty so ibus-anthy causes a KeyError exception.
In Fedora 12, abrt is installed by default and it reports the KeyError exception.
I ignored "panel" section name in bug 526881 at the moment.
But bug 531696 was also reported recently.
It sends another section name "general" with the "value-changed" signal.
I'd like to define the section name when the parent application(ibus) sends a signal.
Currently ibus has the two gconf keys /desktop/ibus/general and /desktop/ibus/panel.
But the section name "general" is too general word for the engine.
My idea is to add a prefix "ibus-frame:" and I'm attaching the patch.
I think currently this change doesn't effect other engines so much.
Actually, we should use prefix engine in section name for engines. Maybe engine/anthy is a good section name for anthy engine, and anthy could ignore other section names.
Thanks for the quick reply.
I confirmed pinyin.py.