Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/lib
Modified Files:
edje_calc.c edje_load.c edje_main.c edje_private.h
edje_program.c edje_smart.c edje_util.c
Log Message:
fix 1 memleak...
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_calc.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- edje_calc.c 27 Jul 2003 13:16:51 -0000 1.9
+++ edje_calc.c 30 Jul 2003 02:58:22 -0000 1.10
@@ -470,8 +470,8 @@
/* fill */
params->smooth = desc->fill.smooth;
params->fill.x = desc->fill.pos_abs_x + (params->w * desc->fill.pos_rel_x);
- params->fill.w = desc->fill.abs_x + (params->w * desc->fill.rel_x);
params->fill.y = desc->fill.pos_abs_y + (params->h * desc->fill.pos_rel_y);
+ params->fill.w = desc->fill.abs_x + (params->w * desc->fill.rel_x);
params->fill.h = desc->fill.abs_y + (params->h * desc->fill.rel_y);
/* colors */
params->color.r = desc->color.r;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_load.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- edje_load.c 27 Jul 2003 13:16:51 -0000 1.14
+++ edje_load.c 30 Jul 2003 02:58:22 -0000 1.15
@@ -290,6 +290,7 @@
snprintf(buf, sizeof(buf), "collections/%i", id);
if (!ef) eet_open(ed->path, EET_FILE_MODE_READ);
if (!ef) goto out;
+ /* collection leaks? */
ed->collection = eet_data_read(ef,
_edje_edd_edje_part_collection,
buf);
@@ -312,6 +313,9 @@
void
_edje_file_del(Edje *ed)
{
+ /* segv's sometimes happen after here... */
+ /* avoid segv's... but LEAK */
+ /* return; */
if (ed->collection)
{
ed->collection->references--;
@@ -333,8 +337,9 @@
Edje_Real_Part *rp;
rp = ed->parts->data;
+ ed->parts = evas_list_remove(ed->parts, rp);
_edje_text_part_on_del(ed, rp);
- evas_object_del(rp->object);
+// evas_object_del(rp->object);
if (rp->swallowed_object)
{
evas_object_event_callback_del(rp->swallowed_object,
@@ -347,7 +352,6 @@
if (rp->text.cache.in_str) free(rp->text.cache.in_str);
if (rp->text.cache.out_str) free(rp->text.cache.out_str);
free(rp);
- ed->parts = evas_list_remove(ed->parts, ed->parts->data);
}
ed->parts = NULL;
}
@@ -389,7 +393,8 @@
Edje_Image_Directory_Entry *ie;
ie = edf->image_dir->entries->data;
- edf->image_dir->entries = evas_list_remove(edf->image_dir->entries, ie);
+ edf->image_dir->entries =
+ evas_list_remove(edf->image_dir->entries, ie);
if (ie->entry) free(ie->entry);
free(ie);
}
@@ -402,7 +407,8 @@
Edje_Part_Collection_Directory_Entry *ce;
ce = edf->collection_dir->entries->data;
- edf->collection_dir->entries =
evas_list_remove(edf->collection_dir->entries, ce);
+ edf->collection_dir->entries =
+ evas_list_remove(edf->collection_dir->entries, ce);
if (ce->entry) free(ce->entry);
free(ce);
}
@@ -454,11 +460,14 @@
ep->other_desc = evas_list_remove(ep->other_desc, desc);
_edje_collection_free_part_description_free(desc);
}
+ free(ep);
}
if (ec->prog_cache.no_matches) evas_hash_free(ec->prog_cache.no_matches);
if (ec->prog_cache.matches)
{
- evas_hash_foreach(ec->prog_cache.matches,
_edje_collection_free_prog_cache_matches_free_cb, NULL);
+ evas_hash_foreach(ec->prog_cache.matches,
+ _edje_collection_free_prog_cache_matches_free_cb,
+ NULL);
evas_hash_free(ec->prog_cache.matches);
}
free(ec);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- edje_main.c 24 Jul 2003 00:49:13 -0000 1.24
+++ edje_main.c 30 Jul 2003 02:58:22 -0000 1.25
@@ -36,7 +36,9 @@
{
_edje_file_del(ed);
if (ed->path) free(ed->path);
+ ed->path = NULL;
if (ed->part) free(ed->part);
+ ed->part = NULL;
while (ed->callbacks)
{
Edje_Signal_Callback *escb;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- edje_private.h 27 Jul 2003 13:16:51 -0000 1.36
+++ edje_private.h 30 Jul 2003 02:58:22 -0000 1.37
@@ -233,11 +233,12 @@
Evas_List *other_desc; /* other possible descriptors */
struct {
char x; /* can u click & drag this bit in x dir */
- int step_x; /* drag jumps n pixels (0 = no limit) */
- int count_x; /* drag area divided by n (0 = no limit) */
-
char y; /* can u click & drag this bit in y dir */
+
+ int step_x; /* drag jumps n pixels (0 = no limit) */
int step_y; /* drag jumps n pixels (0 = no limit) */
+
+ int count_x; /* drag area divided by n (0 = no limit) */
int count_y; /* drag area divided by n (0 = no limit) */
int confine_id; /* dragging within this bit, -1 = no */
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_program.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- edje_program.c 22 Jul 2003 05:17:44 -0000 1.10
+++ edje_program.c 30 Jul 2003 02:58:22 -0000 1.11
@@ -448,7 +448,7 @@
recursions++;
_edje_ref(ed);
_edje_freeze(ed);
- printf("EMIT \"%s\" \"%s\"\n", sig, src);
+// printf("EMIT \"%s\" \"%s\"\n", sig, src);
ee = calloc(1, sizeof(Edje_Emission));
if (!ee)
{
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_smart.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- edje_smart.c 27 Jul 2003 13:16:51 -0000 1.8
+++ edje_smart.c 30 Jul 2003 02:58:22 -0000 1.9
@@ -57,7 +57,6 @@
if (!ed) return;
evas_object_smart_data_set(obj, ed);
ed->obj = obj;
- evas_object_smart_member_add(ed->clipper, ed->obj);
_edje_edjes = evas_list_append(_edje_edjes, obj);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- edje_util.c 27 Jul 2003 13:16:51 -0000 1.15
+++ edje_util.c 30 Jul 2003 02:58:22 -0000 1.16
@@ -249,6 +249,7 @@
if (!rp) return;
if (rp->swallowed_object)
{
+ evas_object_smart_member_del(rp->swallowed_object);
evas_object_event_callback_del(rp->swallowed_object,
EVAS_CALLBACK_FREE,
_edje_object_part_swallow_free_cb);
@@ -257,6 +258,7 @@
}
if (!obj_swallow) return;
rp->swallowed_object = obj_swallow;
+ evas_object_smart_member_add(rp->swallowed_object, ed->obj);
evas_object_clip_set(rp->swallowed_object, ed->clipper);
if (evas_object_layer_get(rp->swallowed_object) != ed->layer)
evas_object_layer_set(rp->swallowed_object, ed->layer);
@@ -357,6 +359,7 @@
rp = l->data;
if (rp->swallowed_object == obj_swallow)
{
+ evas_object_smart_member_del(rp->swallowed_object);
evas_object_clip_unset(rp->swallowed_object);
rp->swallowed_object = NULL;
rp->swallow_params.min.w = 0;
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs