summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_object_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/canvas/evas_object_main.c')
-rw-r--r--src/lib/evas/canvas/evas_object_main.c25
1 files changed, 3 insertions, 22 deletions
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index c779f2d97a..27fc7adfe4 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -141,7 +141,6 @@ void
141evas_object_free(Evas_Object *eo_obj, int clean_layer) 141evas_object_free(Evas_Object *eo_obj, int clean_layer)
142{ 142{
143 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS); 143 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS);
144 Evas_Object *eo_obj2;
145 if (!obj) return; 144 if (!obj) return;
146 obj->clean_layer = clean_layer; 145 obj->clean_layer = clean_layer;
147 146
@@ -172,21 +171,8 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer)
172 obj->func->free(eo_obj, obj, obj->private_data); 171 obj->func->free(eo_obj, obj, obj->private_data);
173 } 172 }
174 if (!was_smart_child) evas_object_release(eo_obj, obj, obj->clean_layer); 173 if (!was_smart_child) evas_object_release(eo_obj, obj, obj->clean_layer);
175 EINA_LIST_FREE(obj->clip.clipees, eo_obj2) 174 if (obj->clip.clipees)
176 { 175 eina_list_free(obj->clip.clipees);
177 Evas_Object_Protected_Data *obj2 =
178 eo_data_scope_get(eo_obj2, MY_CLASS);
179 if ((obj2) && (obj2->cur))
180 {
181 EINA_COW_STATE_WRITE_BEGIN(obj2, state_write, cur)
182 {
183 state_write->clipper = NULL;
184 }
185 EINA_COW_STATE_WRITE_END(obj2, state_write, cur);
186 }
187 }
188// if (obj->clip.clipees)
189// obj->clip.clipees = eina_list_free(obj->clip.clipees);
190 obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer); 176 obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer);
191 evas_object_clip_changes_clean(eo_obj); 177 evas_object_clip_changes_clean(eo_obj);
192 evas_object_event_callback_all_del(eo_obj); 178 evas_object_event_callback_all_del(eo_obj);
@@ -202,17 +188,12 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer)
202 } 188 }
203 if (obj->size_hints) 189 if (obj->size_hints)
204 { 190 {
205 EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); 191 EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints);
206 obj->size_hints = NULL;
207 } 192 }
208 eina_cow_free(evas_object_proxy_cow, obj->proxy); 193 eina_cow_free(evas_object_proxy_cow, obj->proxy);
209 eina_cow_free(evas_object_map_cow, obj->map); 194 eina_cow_free(evas_object_map_cow, obj->map);
210 eina_cow_free(evas_object_state_cow, obj->cur); 195 eina_cow_free(evas_object_state_cow, obj->cur);
211 eina_cow_free(evas_object_state_cow, obj->prev); 196 eina_cow_free(evas_object_state_cow, obj->prev);
212 obj->cur = NULL;
213 obj->prev = NULL;
214 obj->map = NULL;
215 obj->proxy = NULL;
216 eo_data_unref(eo_obj, obj->private_data); 197 eo_data_unref(eo_obj, obj->private_data);
217 obj->private_data = NULL; 198 obj->private_data = NULL;
218 eo_manual_free(eo_obj); 199 eo_manual_free(eo_obj);