summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-11-17 11:46:52 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-11-17 11:46:52 +0900
commit9bf5ae75b723b54ad09bac3a6521153f0b5daeaf (patch)
tree020a393ea1f9f4c462c3c5446109b4c8fc68b5a3 /src
parent22879fc1e709effb4be1c3a09f62ba217f2bb033 (diff)
downloadelementary-9bf5ae75b723b54ad09bac3a6521153f0b5daeaf.tar.gz
check + radio - fix sizing evals and emits on content set
this should fix T261
Diffstat (limited to 'src')
-rw-r--r--src/lib/elm_check.c6
-rw-r--r--src/lib/elm_radio.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/elm_check.c b/src/lib/elm_check.c
index 1ce37abd0..56d751071 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 b6c9933aa..469644554 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;
}