softkey: fix out-of-sync checkbox state 29/237329/1 accepted/tizen/unified/20200630.131355 submit/tizen/20200629.072546
authorLukasz Stanislawski <lukasz.stanislawski@gmail.com>
Mon, 29 Jun 2020 07:16:20 +0000 (09:16 +0200)
committerLukasz Stanislawski <lukasz.stanislawski@gmail.com>
Mon, 29 Jun 2020 07:16:20 +0000 (09:16 +0200)
Read value from checkbox directly
Update checkbox before calling callback

Change-Id: I7e9a237020f23e7ba8645bf9bbafe547ecfedc67

setting-softkey/src/setting-softkey-main.c

index 5f108ae9698a646f776db387d6447ee7551b40bb..6032d7b22cf0cccc68915a048597358707cb8274 100644 (file)
@@ -171,14 +171,14 @@ static void _mouse_up_Gendial_list_cb(void *data,
        ret_if(!list_item);
 
        SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
-       list_item->chk_change_cb(ad->data_softkey_toogle, ad->data_softkey_toogle->eo_check, event_info);
        setting_update_gl_item_chk_status(ad->data_softkey_toogle, !ad->data_softkey_toogle->chk_status);
+       list_item->chk_change_cb(ad->data_softkey_toogle, ad->data_softkey_toogle->eo_check, event_info);
 }
 
 static void _softkey_toogle_chk_cb(void *data, Evas_Object *obj, void *event_info)
 {
        SETTING_TRACE_BEGIN;
-       Setting_GenGroupItem_Data *check_box = (Setting_GenGroupItem_Data *)data;
-       setting_softkey_set_state(check_box->chk_status);
+       Eina_Bool val = elm_check_state_get(obj);
+       setting_softkey_set_state((bool)val);
        SETTING_TRACE_END;
 }