raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=9bf5ae75b723b54ad09bac3a6521153f0b5daeaf
commit 9bf5ae75b723b54ad09bac3a6521153f0b5daeaf Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Sun Nov 17 11:46:52 2013 +0900 check + radio - fix sizing evals and emits on content set this should fix T261 --- src/lib/elm_check.c | 6 +++++- src/lib/elm_radio.c | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_check.c b/src/lib/elm_check.c index 1ce37ab..56d7510 100644 --- a/src/lib/elm_check.c +++ b/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/src/lib/elm_radio.c b/src/lib/elm_radio.c index b6c9933..4696445 100644 --- a/src/lib/elm_radio.c +++ b/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; } --