diff -uNrbB ibus-chewing-1.3.10-Source.bak/src/IBusChewingEngine.gob ibus-chewing-1.3.10-Source/src/IBusChewingEngine.gob --- ibus-chewing-1.3.10-Source.bak/src/IBusChewingEngine.gob 2012-03-10 11:29:01.000000000 +0800 +++ ibus-chewing-1.3.10-Source/src/IBusChewingEngine.gob 2012-03-10 22:47:08.000000000 +0800 @@ -1041,12 +1041,21 @@ /* Toggle Full <-> Half */ chewing_set_ShapeMode(self->context, !chewing_get_ShapeMode(self->context)); }else if (strcmp(prop_name,"chewing_settings_prop")==0){ - if (self->settings_prop->state==PROP_STATE_UNCHECKED){ +#if IBUS_CHECK_VERSION(1, 4, 0) + if (ibus_property_get_state(self->settings_prop)==PROP_STATE_UNCHECKED) +#else + if (self->settings_prop->state==PROP_STATE_UNCHECKED) +#endif + { if (gtk_dialog_run(GTK_DIALOG(self->setting_dialog))==GTK_RESPONSE_OK){ self_save_config_all(self); } gtk_widget_hide(self->setting_dialog); +#if IBUS_CHECK_VERSION(1, 4, 0) + ibus_property_set_state(self->settings_prop,PROP_STATE_UNCHECKED); +#else self->settings_prop->state=PROP_STATE_UNCHECKED; +#endif } }else{ G_DEBUG_MSG(3,"[I3] property_activate(-, %s, %u) not recognized",prop_name, prop_state); diff -uNrbB ibus-chewing-1.3.10-Source.bak/src/IBusChewingEngine-input-events.c ibus-chewing-1.3.10-Source/src/IBusChewingEngine-input-events.c --- ibus-chewing-1.3.10-Source.bak/src/IBusChewingEngine-input-events.c 2012-03-10 11:29:01.000000000 +0800 +++ ibus-chewing-1.3.10-Source/src/IBusChewingEngine-input-events.c 2012-03-10 23:16:41.000000000 +0800 @@ -291,12 +291,21 @@ /* Toggle Full <-> Half */ chewing_set_ShapeMode(self->context, !chewing_get_ShapeMode(self->context)); }else if (strcmp(prop_name,"chewing_settings_prop")==0){ - if (self->settings_prop->state==PROP_STATE_UNCHECKED){ +#if IBUS_CHECK_VERSION(1, 4, 0) + if (ibus_property_get_state(self->settings_prop)==PROP_STATE_UNCHECKED) +#else + if (self->settings_prop->state==PROP_STATE_UNCHECKED) +#endif + { if (gtk_dialog_run(GTK_DIALOG(self->setting_dialog))==GTK_RESPONSE_OK){ self_save_config_all(self); } gtk_widget_hide(self->setting_dialog); +#if IBUS_CHECK_VERSION(1, 4, 0) + ibus_property_set_state(self->settings_prop,PROP_STATE_UNCHECKED); +#else self->settings_prop->state=PROP_STATE_UNCHECKED; +#endif } }else{ G_DEBUG_MSG(3,"[I3] property_activate(-, %s, %u) not recognized",prop_name, prop_state);