Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas
Modified Files:
evas_object_main.c
Log Message:
check deleted flag.. need to do this in more places tho....
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_main.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- evas_object_main.c 18 Oct 2003 03:34:00 -0000 1.17
+++ evas_object_main.c 8 Mar 2004 02:42:08 -0000 1.18
@@ -407,6 +407,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
MAGIC_CHECK_END();
+ if (obj->delete_me) return;
if (!obj->layer)
{
evas_object_free(obj, 1);
@@ -423,10 +424,10 @@
evas_object_hide(obj);
while (obj->clip.clipees) evas_object_clip_unset(obj->clip.clipees->data);
if (obj->cur.clipper) evas_object_clip_unset(obj);
- evas_object_change(obj);
- obj->delete_me = 1;
if (obj->smart.smart) evas_object_smart_del(obj);
evas_object_smart_cleanup(obj);
+ obj->delete_me = 1;
+ evas_object_change(obj);
}
/**
@@ -443,6 +444,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
MAGIC_CHECK_END();
+ if (obj->delete_me) return;
if (evas_object_intercept_call_move(obj, x, y)) return;
if (obj->smart.smart)
{
@@ -494,6 +496,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
MAGIC_CHECK_END();
+ if (obj->delete_me) return;
if (w < 0.0) w = 0.0; if (h < 0.0) h = 0.0;
if (evas_object_intercept_call_resize(obj, w, h)) return;
if (obj->smart.smart)
@@ -544,6 +547,11 @@
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
return;
MAGIC_CHECK_END();
+ if (obj->delete_me)
+ {
+ if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
+ return;
+ }
if (x) *x = obj->cur.geometry.x;
if (y) *y = obj->cur.geometry.y;
if (w) *w = obj->cur.geometry.w;
@@ -562,6 +570,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
MAGIC_CHECK_END();
+ if (obj->delete_me) return;
if (evas_object_intercept_call_show(obj)) return;
if (obj->smart.smart)
{
@@ -603,6 +612,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
MAGIC_CHECK_END();
+ if (obj->delete_me) return;
if (evas_object_intercept_call_hide(obj)) return;
if (obj->smart.smart)
{
@@ -665,6 +675,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return 0;
MAGIC_CHECK_END();
+ if (obj->delete_me) return 0;
return obj->cur.visible;
}
@@ -680,6 +691,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
MAGIC_CHECK_END();
+ if (obj->delete_me) return;
if (r > 255) r = 255; if (r < 0) r = 0;
if (g > 255) g = 255; if (g < 0) g = 0;
if (b > 255) b = 255; if (b < 0) b = 0;
@@ -714,6 +726,11 @@
if (r) *r = 0; if (g) *g = 0; if (b) *b = 0; if (a) *a = 0;
return;
MAGIC_CHECK_END();
+ if (obj->delete_me)
+ {
+ if (r) *r = 0; if (g) *g = 0; if (b) *b = 0; if (a) *a = 0;
+ return;
+ }
if (r) *r = obj->cur.color.r;
if (g) *g = obj->cur.color.g;
if (b) *b = obj->cur.color.b;
@@ -732,6 +749,7 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return NULL;
MAGIC_CHECK_END();
+ if (obj->delete_me) return 0;
return obj->layer->evas;
}
@@ -763,6 +781,7 @@
Evas_Object *obj;
obj = (Evas_Object *)l2;
+ if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (obj->pass_events)) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
evas_object_clip_recalc(obj);
@@ -818,6 +837,7 @@
Evas_Object *obj;
obj = (Evas_Object *)l2;
+ if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (obj->pass_events)) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
evas_object_clip_recalc(obj);
@@ -858,6 +878,7 @@
Evas_Object *obj;
obj = (Evas_Object *)l2;
+ if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (obj->pass_events)) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
evas_object_clip_recalc(obj);
@@ -902,6 +923,7 @@
Evas_Object *obj;
obj = (Evas_Object *)l2;
+ if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (obj->pass_events)) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
evas_object_clip_recalc(obj);
@@ -925,5 +947,6 @@
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return NULL;
MAGIC_CHECK_END();
+ if (obj->delete_me) return "";
return obj->type;
}
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs