Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_evas


Modified Files:
      Tag: SPLIT
        ecore_evas.c ecore_evas_fb.c ecore_evas_x.c 


Log Message:


oops.... um paranoia double free on del req. i need to add magic trapping to
ecore_evas sometime to trap this kind of sillieness :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas.c,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -3 -r1.1.2.11 -r1.1.2.12
--- ecore_evas.c        11 Feb 2003 06:27:09 -0000      1.1.2.11
+++ ecore_evas.c        11 Feb 2003 11:26:05 -0000      1.1.2.12
@@ -44,11 +44,20 @@
    if (!ee) return;
    if (ee->driver) free(ee->driver);
    if (ee->name) free(ee->name);
+   if (ee->prop.title) free(ee->prop.title);
    if (ee->prop.name) free(ee->prop.name);
    if (ee->prop.clas) free(ee->prop.clas);
    if (ee->prop.cursor.file) free(ee->prop.cursor.file);
    if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object);
    if (ee->evas) evas_free(ee->evas);
+   ee->driver = NULL;
+   ee->name = NULL;
+   ee->prop.title = NULL;
+   ee->prop.name = NULL;
+   ee->prop.clas = NULL;
+   ee->prop.cursor.file = NULL;
+   ee->prop.cursor.object = NULL;
+   ee->evas = NULL;
    if (ee->engine.func->fn_free) ee->engine.func->fn_free(ee);
    free(ee);
 }
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas_fb.c,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -3 -r1.1.2.1 -r1.1.2.2
--- ecore_evas_fb.c     11 Feb 2003 06:27:09 -0000      1.1.2.1
+++ ecore_evas_fb.c     11 Feb 2003 11:26:05 -0000      1.1.2.2
@@ -121,9 +121,9 @@
 static void
 _ecore_evas_fb_free(Ecore_Evas *ee)
 {
-   ecore_fb_shutdown();
    ecore_evases = _ecore_list_remove(ecore_evases, ee);   
    _ecore_evas_fb_shutdown();
+   ecore_fb_shutdown();
 }
 
 static void
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas_x.c,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -3 -r1.1.2.1 -r1.1.2.2
--- ecore_evas_x.c      11 Feb 2003 06:27:09 -0000      1.1.2.1
+++ ecore_evas_x.c      11 Feb 2003 11:26:05 -0000      1.1.2.2
@@ -421,15 +421,19 @@
 static void
 _ecore_evas_x_free(Ecore_Evas *ee)
 {
-   ecore_x_shutdown();
    ecore_x_window_del(ee->engine.x.win);
    ecore_x_window_del(ee->engine.x.win_container);
    if (ee->engine.x.pmap) ecore_x_pixmap_del(ee->engine.x.pmap);
    if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
    if (ee->engine.x.gc) ecore_x_gc_del(ee->engine.x.gc);
    if (ee->engine.x.damages) XDestroyRegion(ee->engine.x.damages);
+   ee->engine.x.pmap = 0;
+   ee->engine.x.mask = 0;
+   ee->engine.x.gc = 0;
+   ee->engine.x.damages = 0;
    ecore_evases = _ecore_list_remove(ecore_evases, ee);
    _ecore_evas_x_shutdown();
+   ecore_x_shutdown();
 }
 
 static void




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to