From a59f0d83ec68717bc23177a470b6d04e1451c1be Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sun, 17 Nov 2013 11:46:52 +0900 Subject: [PATCH] check + radio - fix sizing evals and emits on content set this should fix T261 --- legacy/elementary/src/lib/elm_check.c | 6 +++++- legacy/elementary/src/lib/elm_radio.c | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/legacy/elementary/src/lib/elm_check.c b/legacy/elementary/src/lib/elm_check.c index 1ce37abd09..56d7510719 100644 --- a/legacy/elementary/src/lib/elm_check.c +++ b/legacy/elementary/src/lib/elm_check.c @@ -67,12 +67,14 @@ _activate(Evas_Object *obj) static void _icon_signal_emit(Evas_Object *obj) { + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); char buf[64]; snprintf(buf, sizeof(buf), "elm,state,icon,%s", elm_layout_content_get(obj, "icon") ? "visible" : "hidden"); elm_layout_signal_emit(obj, buf, "elm"); + edje_object_message_signal_process(wd->resize_obj); } /* FIXME: replicated from elm_layout just because check's icon spot @@ -92,6 +94,7 @@ _elm_check_smart_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list) _icon_signal_emit(obj); if (ret) *ret = EINA_TRUE; + eo_do(obj, elm_obj_layout_sizing_eval()); } static void @@ -127,6 +130,7 @@ _elm_check_smart_content_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list) _icon_signal_emit(obj); if (ret) *ret = EINA_TRUE; + eo_do(obj, elm_obj_layout_sizing_eval()); } static void @@ -192,7 +196,7 @@ _elm_check_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list) * we can changed the theme API */ _icon_signal_emit(obj); - elm_layout_sizing_eval(obj); + eo_do(obj, elm_obj_layout_sizing_eval()); if (ret) *ret = EINA_TRUE; } diff --git a/legacy/elementary/src/lib/elm_radio.c b/legacy/elementary/src/lib/elm_radio.c index b6c9933aa4..4696445543 100644 --- a/legacy/elementary/src/lib/elm_radio.c +++ b/legacy/elementary/src/lib/elm_radio.c @@ -100,12 +100,14 @@ _activate(Evas_Object *obj) static void _icon_signal_emit(Evas_Object *obj) { + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); char buf[64]; snprintf(buf, sizeof(buf), "elm,state,icon,%s", elm_layout_content_get(obj, "icon") ? "visible" : "hidden"); elm_layout_signal_emit(obj, buf, "elm"); + edje_object_message_signal_process(wd->resize_obj); } /* FIXME: replicated from elm_layout just because radio's icon spot @@ -125,6 +127,7 @@ _elm_radio_smart_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list) _icon_signal_emit(obj); if (ret) *ret = EINA_TRUE; + eo_do(obj, elm_obj_layout_sizing_eval()); } /* FIXME: replicated from elm_layout just because radio's icon spot @@ -144,6 +147,7 @@ _elm_radio_smart_content_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list) _icon_signal_emit(obj); if (ret) *ret = EINA_TRUE; + eo_do(obj, elm_obj_layout_sizing_eval()); } static void @@ -197,7 +201,7 @@ _elm_radio_smart_theme(Eo *obj, void *_pd, va_list *list) * whenever we can changed the theme API */ _icon_signal_emit(obj); - elm_layout_sizing_eval(obj); + eo_do(obj, elm_obj_layout_sizing_eval()); if (ret) *ret = EINA_TRUE; }