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;
 }

-- 


Reply via email to