On 1/17/06, enlightenment-cvs@lists.sourceforge.net <
enlightenment-cvs@lists.sourceforge.net> wrote:
While testing with "edje e_logo.edj" I noticed some free's in edje_main.c that seem to have been missed.
I'll just inline it this time:
Index: libs/edje/src/lib/edje_main.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v
retrieving revision 1.48
diff -u -r1.48 edje_main.c
--- libs/edje/src/lib/edje_main.c 7 Jan 2006 08:54:30 -0000 1.48
+++ libs/edje/src/lib/edje_main.c 21 Jan 2006 05:00:23 -0000
@@ -123,7 +123,7 @@
cc = ed->color_classes->data;
ed->color_classes = evas_list_remove(ed->color_classes, cc);
- if (cc->name) free(cc->name);
+ if (cc->name) evas_stringshare_del(cc->name);
free(cc);
}
while (ed->text_classes)
@@ -132,8 +132,8 @@
tc = ed->text_classes->data;
ed->text_classes = evas_list_remove(ed->text_classes, tc);
- if (tc->name) free(tc->name);
- if (tc->font) free(tc->font);
+ if (tc->name) evas_stringshare_del(tc->name);
+ if (tc->font) evas_stringshare_del(tc->font);
free(tc);
}
free(ed);
Enlightenment CVS committal
Author : rephorm
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/lib
Modified Files:
Edje.h edje_private.h edje_util.c
Log Message:
Add edje_color_class_del(), edje_object_color_class_del() and edje_color_class_list().
Use stringshare for cc names.
While testing with "edje e_logo.edj" I noticed some free's in edje_main.c that seem to have been missed.
I'll just inline it this time:
Index: libs/edje/src/lib/edje_main.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v
retrieving revision 1.48
diff -u -r1.48 edje_main.c
--- libs/edje/src/lib/edje_main.c 7 Jan 2006 08:54:30 -0000 1.48
+++ libs/edje/src/lib/edje_main.c 21 Jan 2006 05:00:23 -0000
@@ -123,7 +123,7 @@
cc = ed->color_classes->data;
ed->color_classes = evas_list_remove(ed->color_classes, cc);
- if (cc->name) free(cc->name);
+ if (cc->name) evas_stringshare_del(cc->name);
free(cc);
}
while (ed->text_classes)
@@ -132,8 +132,8 @@
tc = ed->text_classes->data;
ed->text_classes = evas_list_remove(ed->text_classes, tc);
- if (tc->name) free(tc->name);
- if (tc->font) free(tc->font);
+ if (tc->name) evas_stringshare_del(tc->name);
+ if (tc->font) evas_stringshare_del(tc->font);
free(tc);
}
free(ed);
Regards!
David