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)
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)
67static void 67static void
68_icon_signal_emit(Evas_Object *obj) 68_icon_signal_emit(Evas_Object *obj)
69{ 69{
70 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
70 char buf[64]; 71 char buf[64];
71 72
72 snprintf(buf, sizeof(buf), "elm,state,icon,%s", 73 snprintf(buf, sizeof(buf), "elm,state,icon,%s",
73 elm_layout_content_get(obj, "icon") ? "visible" : "hidden"); 74 elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
74 75
75 elm_layout_signal_emit(obj, buf, "elm"); 76 elm_layout_signal_emit(obj, buf, "elm");
77 edje_object_message_signal_process(wd->resize_obj);
76} 78}
77 79
78/* FIXME: replicated from elm_layout just because check's icon spot 80/* 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)
92 _icon_signal_emit(obj); 94 _icon_signal_emit(obj);
93 95
94 if (ret) *ret = EINA_TRUE; 96 if (ret) *ret = EINA_TRUE;
97 eo_do(obj, elm_obj_layout_sizing_eval());
95} 98}
96 99
97static void 100static void
@@ -127,6 +130,7 @@ _elm_check_smart_content_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
127 _icon_signal_emit(obj); 130 _icon_signal_emit(obj);
128 131
129 if (ret) *ret = EINA_TRUE; 132 if (ret) *ret = EINA_TRUE;
133 eo_do(obj, elm_obj_layout_sizing_eval());
130} 134}
131 135
132static void 136static void
@@ -192,7 +196,7 @@ _elm_check_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
192 * we can changed the theme API */ 196 * we can changed the theme API */
193 _icon_signal_emit(obj); 197 _icon_signal_emit(obj);
194 198
195 elm_layout_sizing_eval(obj); 199 eo_do(obj, elm_obj_layout_sizing_eval());
196 200
197 if (ret) *ret = EINA_TRUE; 201 if (ret) *ret = EINA_TRUE;
198} 202}
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)
100static void 100static void
101_icon_signal_emit(Evas_Object *obj) 101_icon_signal_emit(Evas_Object *obj)
102{ 102{
103 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
103 char buf[64]; 104 char buf[64];
104 105
105 snprintf(buf, sizeof(buf), "elm,state,icon,%s", 106 snprintf(buf, sizeof(buf), "elm,state,icon,%s",
106 elm_layout_content_get(obj, "icon") ? "visible" : "hidden"); 107 elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
107 108
108 elm_layout_signal_emit(obj, buf, "elm"); 109 elm_layout_signal_emit(obj, buf, "elm");
110 edje_object_message_signal_process(wd->resize_obj);
109} 111}
110 112
111/* FIXME: replicated from elm_layout just because radio's icon spot 113/* 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)
125 _icon_signal_emit(obj); 127 _icon_signal_emit(obj);
126 128
127 if (ret) *ret = EINA_TRUE; 129 if (ret) *ret = EINA_TRUE;
130 eo_do(obj, elm_obj_layout_sizing_eval());
128} 131}
129 132
130/* FIXME: replicated from elm_layout just because radio's icon spot 133/* 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)
144 _icon_signal_emit(obj); 147 _icon_signal_emit(obj);
145 148
146 if (ret) *ret = EINA_TRUE; 149 if (ret) *ret = EINA_TRUE;
150 eo_do(obj, elm_obj_layout_sizing_eval());
147} 151}
148 152
149static void 153static void
@@ -197,7 +201,7 @@ _elm_radio_smart_theme(Eo *obj, void *_pd, va_list *list)
197 * whenever we can changed the theme API */ 201 * whenever we can changed the theme API */
198 _icon_signal_emit(obj); 202 _icon_signal_emit(obj);
199 203
200 elm_layout_sizing_eval(obj); 204 eo_do(obj, elm_obj_layout_sizing_eval());
201 205
202 if (ret) *ret = EINA_TRUE; 206 if (ret) *ret = EINA_TRUE;
203} 207}