evas: update use of eina_cow_free for latest change.
authorCedric Bail <cedric.bail@samsung.com>
Mon, 4 Nov 2013 03:47:48 +0000 (12:47 +0900)
committerCedric Bail <cedric.bail@samsung.com>
Mon, 4 Nov 2013 03:47:48 +0000 (12:47 +0900)
src/lib/evas/canvas/evas_object_image.c
src/lib/evas/canvas/evas_object_main.c

index 312b5c6..b508074 100644 (file)
@@ -3609,14 +3609,11 @@ _evas_object_image_free(Evas_Object *obj)
 
    o = eo_data_scope_get(obj, MY_CLASS);
 
-   eina_cow_free(evas_object_image_load_opts_cow, o->load_opts);
-   o->load_opts = &default_load_opts;
-   eina_cow_free(evas_object_image_pixels_cow, o->pixels);
-   o->pixels = &default_pixels;
-   eina_cow_free(evas_object_image_state_cow, o->cur);
-   o->cur = &default_state;
-   eina_cow_free(evas_object_image_state_cow, o->prev);
-   o->prev = &default_state;
+   // eina_cow_free reset the pointer to the default read only state
+   eina_cow_free(evas_object_image_load_opts_cow, (const Eina_Cow_Data**) &o->load_opts);
+   eina_cow_free(evas_object_image_pixels_cow, (const Eina_Cow_Data**) &o->pixels);
+   eina_cow_free(evas_object_image_state_cow, (const Eina_Cow_Data**) &o->cur);
+   eina_cow_free(evas_object_image_state_cow, (const Eina_Cow_Data**) &o->prev);
 }
 
 static void
index 27fc7ad..fa294d8 100644 (file)
@@ -190,10 +190,10 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer)
      {
        EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints);
      }
-   eina_cow_free(evas_object_proxy_cow, obj->proxy);
-   eina_cow_free(evas_object_map_cow, obj->map);
-   eina_cow_free(evas_object_state_cow, obj->cur);
-   eina_cow_free(evas_object_state_cow, obj->prev);
+   eina_cow_free(evas_object_proxy_cow, (const Eina_Cow_Data**) &obj->proxy);
+   eina_cow_free(evas_object_map_cow, (const Eina_Cow_Data**) &obj->map);
+   eina_cow_free(evas_object_state_cow, (const Eina_Cow_Data**) &obj->cur);
+   eina_cow_free(evas_object_state_cow, (const Eina_Cow_Data**) &obj->prev);
    eo_data_unref(eo_obj, obj->private_data);
    obj->private_data = NULL;
    eo_manual_free(eo_obj);