Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/canvas


Modified Files:
        evas_layer.c evas_object_smart.c 


Log Message:


i think this will fix the layer thing nathan found

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_layer.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- evas_layer.c        27 Oct 2005 10:33:47 -0000      1.14
+++ evas_layer.c        8 Nov 2005 11:59:21 -0000       1.15
@@ -15,6 +15,7 @@
        evas_layer_add(lay);
      }
    lay->objects = evas_object_list_append(lay->objects, obj);
+   lay->usage++;
    obj->layer = lay;
    obj->in_layer = 1;
 }
@@ -24,9 +25,10 @@
 {
    if (!obj->in_layer) return;
    obj->layer->objects = evas_object_list_remove(obj->layer->objects, obj);
+   obj->layer->usage--;
    if (clean_layer)
      {
-       if (!obj->layer->objects)
+       if (obj->layer->usage <= 0)
          {
             evas_layer_del(obj->layer);
             evas_layer_free(obj->layer);
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_smart.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- evas_object_smart.c 27 Oct 2005 02:44:36 -0000      1.16
+++ evas_object_smart.c 8 Nov 2005 11:59:21 -0000       1.17
@@ -139,6 +139,7 @@
    evas_object_release(obj, 1);
    obj->layer = smart_obj->layer;
    obj->cur.layer = obj->layer->layer;
+   obj->layer->usage++;
    obj->smart.parent = smart_obj;
    smart_obj->smart.contained = 
evas_object_list_append(smart_obj->smart.contained, obj);
    evas_object_smart_member_cache_invalidate(obj);
@@ -163,6 +164,7 @@
    obj->smart.parent->smart.contained = 
evas_object_list_remove(obj->smart.parent->smart.contained, obj);
    obj->smart.parent = NULL;
    evas_object_smart_member_cache_invalidate(obj);
+   obj->layer->usage--;
    obj->cur.layer = obj->layer->layer;
    evas_object_inject(obj, obj->layer->evas);
    obj->restack = 1;




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to