From ff301b6782b25a78bc39b444cddb87647968be20 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Wed, 13 May 2015 18:09:25 +0900 Subject: [PATCH] check: fix the initial state setting issue. Since the "changed" smart callback won't be called if user set the state with the API, vector needs extra signal protocol for internal communication. Change-Id: I390c71ba4bed8e1a3456fc448042b871d9651aa6 --- src/lib/tizen_vector.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib/tizen_vector.c b/src/lib/tizen_vector.c index f499d04..9c75e07 100644 --- a/src/lib/tizen_vector.c +++ b/src/lib/tizen_vector.c @@ -913,11 +913,15 @@ transit_check_default_line_op(Elm_Transit_Effect *effect, } static void -check_default_changed_cb(void *data, Evas_Object *obj, - void *event_info EINA_UNUSED) +check_default_changed_cb(void *data, Evas_Object *obj EINA_UNUSED, + const char *emission EINA_UNUSED, + const char *source EINA_UNUSED) { check_default *vd = data; + if (!source) return; + if (strcmp(source, "tizen_vg")) return; + check_default_init(vd); Eina_Bool check = elm_check_state_get(obj); @@ -983,7 +987,7 @@ check_default_del_cb(void *data, Evas *e EINA_UNUSED, { check_default *vd = data; evas_object_data_set(vd->obj, vg_key, NULL); - evas_object_smart_callback_del(vd->obj, "changed", check_default_changed_cb); + elm_object_signal_callback_del(vd->obj, "elm,check,action,toggle", "tizen_vg", check_default_changed_cb); elm_transit_del(vd->transit[0]); elm_transit_del(vd->transit[1]); elm_transit_del(vd->transit[2]); @@ -1002,7 +1006,7 @@ tizen_vg_check_default_set(Elm_Check *obj) } evas_object_data_set(obj, vg_key, vd); - evas_object_smart_callback_add(obj, "changed", check_default_changed_cb, vd); + elm_object_signal_callback_add(obj, "elm,check,action,toggle", "tizen_vg", check_default_changed_cb, vd); vd->obj = obj; -- 2.7.4