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.