cedric pushed a commit to branch enlightenment-0.17.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=2f165075d34b773b4e90985af3e9ae097cb49a35

commit 2f165075d34b773b4e90985af3e9ae097cb49a35
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon Dec 30 17:00:29 2013 +0900

    livethumb - fix problem where e canvas list didnt del the livethumb ee
---
 src/bin/e_livethumb.c | 10 ++++++----
 src/bin/e_win.c       |  3 ++-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_livethumb.c b/src/bin/e_livethumb.c
index 96d4af4..b7e4d7c 100644
--- a/src/bin/e_livethumb.c
+++ b/src/bin/e_livethumb.c
@@ -14,6 +14,7 @@ struct _E_Smart_Data
    Evas_Object *evas_obj;
    Evas_Object *thumb_obj;
    Evas        *evas;
+   Ecore_Evas  *ee;
    Evas_Coord   vw, vh;
 };
 
@@ -135,18 +136,19 @@ _e_smart_add(Evas_Object *obj)
    sd->vh = 1;
 
    sd->evas_obj = 
ecore_evas_object_image_new(ecore_evas_ecore_evas_get(evas_object_evas_get(obj)));
-   ecore_evas_alpha_set(evas_object_data_get(sd->evas_obj, "Ecore_Evas"), 1);
+   sd->ee = evas_object_data_get(sd->evas_obj, "Ecore_Evas");
+   ecore_evas_alpha_set(sd->ee, 1);
    evas_object_smart_member_add(sd->evas_obj, obj);
    evas_object_image_size_set(sd->evas_obj, sd->vw, sd->vh);
-   sd->evas = ecore_evas_get(evas_object_data_get(sd->evas_obj, "Ecore_Evas"));
-   e_canvas_add(evas_object_data_get(sd->evas_obj, "Ecore_Evas"));
+   sd->evas = ecore_evas_get(sd->ee);
+   e_canvas_add(sd->ee);
 }
 
 static void
 _e_smart_del(Evas_Object *obj)
 {
    INTERNAL_ENTRY;
-   e_canvas_del(evas_object_data_get(sd->evas_obj, "Ecore_Evas"));
+   e_canvas_del(sd->ee);
    evas_object_del(sd->evas_obj);
    free(sd);
 }
diff --git a/src/bin/e_win.c b/src/bin/e_win.c
index ef98a19..b57699f 100644
--- a/src/bin/e_win.c
+++ b/src/bin/e_win.c
@@ -269,7 +269,8 @@ e_win_show(E_Win *win)
         if (!win->placed)
           win->border->re_manage = 0;
         win->border->internal = 1;
-        win->border->internal_ecore_evas = win->ecore_evas;
+        if (win->ecore_evas)
+          win->border->internal_ecore_evas = win->ecore_evas;
         if (win->state.no_remember) win->border->internal_no_remember = 1;
         win->border->internal_no_reopen = win->state.no_reopen;
      }

-- 


Reply via email to