From: <enl...@li...> - 2004-01-12 17:41:49
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Modified Files: Edje.h edje_data.c edje_main.c edje_private.h Log Message: more memory management improvements. applications should call edje_shutdown() now. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/Edje.h,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- Edje.h 4 Nov 2003 06:15:18 -0000 1.23 +++ Edje.h 12 Jan 2004 17:41:47 -0000 1.24 @@ -21,6 +21,7 @@ #endif void edje_init (void); + void edje_shutdown (void); void edje_frametime_set (double t); double edje_frametime_get (void); void edje_freeze (void); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_data.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- edje_data.c 7 Jan 2004 00:35:31 -0000 1.14 +++ edje_data.c 12 Jan 2004 17:41:47 -0000 1.15 @@ -24,6 +24,30 @@ (void *(*) (void *, const char *, void *))evas_hash_add, \ (void (*) (void *))evas_hash_free) +#define FREED(eed) \ + if (eed) \ + { \ + eet_data_descriptor_free((eed)); \ + (eed) = NULL; \ + } + +void +_edje_edd_free(void) +{ + FREED(_edje_edd_edje_file); + FREED(_edje_edd_edje_data); + FREED(_edje_edd_edje_image_directory); + FREED(_edje_edd_edje_image_directory_entry); + FREED(_edje_edd_edje_program); + FREED(_edje_edd_edje_program_target); + FREED(_edje_edd_edje_part_collection_directory); + FREED(_edje_edd_edje_part_collection_directory_entry); + FREED(_edje_edd_edje_part_collection); + FREED(_edje_edd_edje_part); + FREED(_edje_edd_edje_part_description); + FREED(_edje_edd_edje_part_image_id); +} + void _edje_edd_setup(void) { =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- edje_main.c 30 Oct 2003 04:45:18 -0000 1.26 +++ edje_main.c 12 Jan 2004 17:41:47 -0000 1.27 @@ -1,15 +1,25 @@ #include "Edje.h" #include "edje_private.h" +static int initted = 0; + void edje_init(void) { - static int initted = 0; - if (initted) return; initted = 1; _edje_edd_setup(); _edje_text_init(); +} + +void +edje_shutdown(void) +{ + if (!initted) return; + + _edje_edd_free(); + + initted = 0; } Edje * =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v retrieving revision 1.53 retrieving revision 1.54 diff -u -3 -r1.53 -r1.54 --- edje_private.h 12 Jan 2004 02:13:11 -0000 1.53 +++ edje_private.h 12 Jan 2004 17:41:48 -0000 1.54 @@ -560,6 +560,7 @@ int _edje_pending_timer_cb(void *data); void _edje_edd_setup(void); +void _edje_edd_free(void); void _edje_file_add(Edje *ed); void _edje_file_del(Edje *ed); |
From: <enl...@li...> - 2004-01-12 19:21:28
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Modified Files: edje_main.c edje_private.h edje_util.c Log Message: more memory management cleanups. fixed some warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -3 -r1.27 -r1.28 --- edje_main.c 12 Jan 2004 17:41:47 -0000 1.27 +++ edje_main.c 12 Jan 2004 19:21:25 -0000 1.28 @@ -18,6 +18,8 @@ if (!initted) return; _edje_edd_free(); + _edje_color_class_members_free(); + _edje_text_class_members_free(); initted = 0; } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v retrieving revision 1.54 retrieving revision 1.55 diff -u -3 -r1.54 -r1.55 --- edje_private.h 12 Jan 2004 17:41:48 -0000 1.54 +++ edje_private.h 12 Jan 2004 19:21:25 -0000 1.55 @@ -590,9 +590,13 @@ void _edje_color_class_member_add(Edje *ed, char *color_class); void _edje_color_class_member_del(Edje *ed, char *color_class); void _edje_color_class_on_del(Edje *ed, Edje_Part *ep); +void _edje_color_class_members_free(void); + Edje_Text_Class *_edje_text_class_find(Edje *ed, char *text_class); void _edje_text_class_member_add(Edje *ed, char *text_class); void _edje_text_class_member_del(Edje *ed, char *text_class); +void _edje_text_class_members_free(void); + Edje *_edje_fetch(Evas_Object *obj); int _edje_glob_match(char *str, char *glob); int _edje_freeze(Edje *ed); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- edje_util.c 27 Dec 2003 10:51:02 -0000 1.31 +++ edje_util.c 12 Jan 2004 19:21:25 -0000 1.32 @@ -1015,7 +1015,7 @@ { Evas_List *l; - if ((!ed) || (!color_class)) return; + if ((!ed) || (!color_class)) return NULL; for (l = ed->color_classes; l; l = l->next) { Edje_Color_Class *cc; @@ -1042,7 +1042,7 @@ void _edje_color_class_member_del(Edje *ed, char *color_class) { - Evas_List *members, *tmp = NULL; + Evas_List *members; if ((!ed) || (!color_class)) return; members = evas_hash_find(_edje_color_class_member_hash, color_class); @@ -1054,6 +1054,15 @@ } void +_edje_color_class_members_free(void) +{ + if (!_edje_color_class_member_hash) return; + + evas_hash_free(_edje_color_class_member_hash); + _edje_color_class_member_hash = NULL; +} + +void _edje_color_class_on_del(Edje *ed, Edje_Part *ep) { Evas_List *tmp; @@ -1077,7 +1086,7 @@ { Evas_List *l; - if ((!ed) || (!text_class)) return; + if ((!ed) || (!text_class)) return NULL; for (l = ed->text_classes; l; l = l->next) { Edje_Text_Class *tc; @@ -1104,7 +1113,7 @@ void _edje_text_class_member_del(Edje *ed, char *text_class) { - Evas_List *members, *tmp = NULL; + Evas_List *members; if ((!ed) || (!text_class)) return; members = evas_hash_find(_edje_text_class_member_hash, text_class); @@ -1115,6 +1124,15 @@ if (members) _edje_text_class_member_hash = evas_hash_add(_edje_text_class_member_hash, text_class, members); } +void +_edje_text_class_members_free(void) +{ + if (!_edje_text_class_member_hash) return; + + evas_hash_free(_edje_text_class_member_hash); + _edje_text_class_member_hash = NULL; +} + Edje * _edje_fetch(Evas_Object *obj) { |
From: <enl...@li...> - 2004-01-13 17:14:31
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Modified Files: edje_util.c Log Message: edje is valgrind-clean now! :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- edje_util.c 12 Jan 2004 19:21:25 -0000 1.32 +++ edje_util.c 13 Jan 2004 17:14:31 -0000 1.33 @@ -1053,11 +1053,25 @@ if (members) _edje_color_class_member_hash = evas_hash_add(_edje_color_class_member_hash, color_class, members); } +/** + * Used to free the member lists that are stored in the text_class + * and color_class hashtables. + */ +static Evas_Bool member_list_free(Evas_Hash *hash, const char *key, + void *data, void *fdata) +{ + evas_list_free(data); + + return 1; +} + void _edje_color_class_members_free(void) { if (!_edje_color_class_member_hash) return; + evas_hash_foreach(_edje_color_class_member_hash, member_list_free, + NULL); evas_hash_free(_edje_color_class_member_hash); _edje_color_class_member_hash = NULL; } @@ -1129,6 +1143,8 @@ { if (!_edje_text_class_member_hash) return; + evas_hash_foreach(_edje_text_class_member_hash, member_list_free, + NULL); evas_hash_free(_edje_text_class_member_hash); _edje_text_class_member_hash = NULL; } |
From: <enl...@li...> - 2004-01-14 17:19:19
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/bin Modified Files: edje_main.c Log Message: call edje_shutdown() =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_main.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- edje_main.c 25 Dec 2003 23:57:18 -0000 1.35 +++ edje_main.c 14 Jan 2004 17:19:16 -0000 1.36 @@ -126,6 +126,7 @@ static void main_stop(void) { + edje_shutdown(); ecore_evas_shutdown(); ecore_shutdown(); } |
From: <enl...@li...> - 2004-01-17 12:39:02
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/bin Modified Files: edje_cc_parse.c Log Message: strcpy() doesn't allow copying overlapping strings =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc_parse.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- edje_cc_parse.c 16 Jan 2004 00:51:43 -0000 1.13 +++ edje_cc_parse.c 17 Jan 2004 12:39:01 -0000 1.14 @@ -237,11 +237,11 @@ while (*p) { if (*p == '"') - strcpy(p, p + 1); + memmove(p, p + 1, strlen(p)); else if ((*p == '\\') && (*(p + 1) == '"')) - strcpy(p, p + 1); + memmove(p, p + 1, strlen(p)); else if ((*p == '\\') && (*(p + 1) == '\\')) - strcpy(p, p + 1); + memmove(p, p + 1, strlen(p)); else p++; } |
From: <enl...@li...> - 2004-01-17 13:09:36
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Modified Files: edje_program.c Log Message: gcc, shut up! =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_program.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- edje_program.c 19 Oct 2003 02:11:06 -0000 1.24 +++ edje_program.c 17 Jan 2004 13:09:35 -0000 1.25 @@ -483,6 +483,7 @@ } } done: + continue; } _edje_emit(ed, "program,stop", pr->name); if (_edje_block_break(ed)) goto break_prog; |
From: <enl...@li...> - 2004-01-17 15:37:49
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/bin Modified Files: edje_ls.c edje_cc.c Log Message: call edje_shutdown() =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_ls.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_ls.c 19 Oct 2003 02:11:06 -0000 1.2 +++ edje_ls.c 17 Jan 2004 15:37:48 -0000 1.3 @@ -100,5 +100,7 @@ free(name); } + edje_shutdown(); + return 0; } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- edje_cc.c 6 Aug 2003 01:29:12 -0000 1.9 +++ edje_cc.c 17 Jan 2004 15:37:48 -0000 1.10 @@ -86,6 +86,8 @@ compile(); data_process_lookups(); data_write(); + + edje_shutdown(); return 0; } |
From: <enl...@li...> - 2004-01-17 16:00:57
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Modified Files: edje_main.c Log Message: call eet_init() and eet_shutdown() =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- edje_main.c 12 Jan 2004 19:21:25 -0000 1.28 +++ edje_main.c 17 Jan 2004 16:00:56 -0000 1.29 @@ -8,6 +8,9 @@ { if (initted) return; initted = 1; + + eet_init(); + _edje_edd_setup(); _edje_text_init(); } @@ -21,6 +24,8 @@ _edje_color_class_members_free(); _edje_text_class_members_free(); + eet_shutdown(); + initted = 0; } |
From: <enl...@li...> - 2004-01-17 16:36:47
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/bin Added Files: .cvsignore Log Message: added .cvsignore files |
From: <enl...@li...> - 2004-01-17 16:36:48
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src Added Files: .cvsignore Log Message: added .cvsignore files |
From: <enl...@li...> - 2004-01-17 16:36:48
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Added Files: .cvsignore Log Message: added .cvsignore files |
From: <enl...@li...> - 2004-01-17 16:36:48
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje Added Files: .cvsignore Log Message: added .cvsignore files |
From: <enl...@li...> - 2004-01-17 23:53:58
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje Added Files: edje.supp Log Message: added valgrind suppression file for Edje |
From: <enl...@li...> - 2004-01-20 17:53:19
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/bin Modified Files: edje_main.c Log Message: removed some unused variables =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_main.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -3 -r1.36 -r1.37 --- edje_main.c 14 Jan 2004 17:19:16 -0000 1.36 +++ edje_main.c 20 Jan 2004 17:53:18 -0000 1.37 @@ -381,7 +381,7 @@ ev = event_info; if (de->down_bottom) { - Evas_Coord x, y, w, h, tw, th; + Evas_Coord x, y, w, h; Evas_Coord minw, minh; int hdir, vdir; @@ -571,7 +571,6 @@ if (entries) { Evas_List *l; - Evas_Coord x = 0, y = 0; for (l = entries; l; l = l->next) { |
From: <enl...@li...> - 2004-02-01 14:04:37
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Modified Files: edje_smart.c Log Message: edje_init() shouldn't be called from edje_object_add() =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_smart.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- edje_smart.c 19 Oct 2003 02:11:06 -0000 1.12 +++ edje_smart.c 1 Feb 2004 14:02:40 -0000 1.13 @@ -26,7 +26,6 @@ { if (!_edje_smart) { - edje_init(); _edje_smart = evas_smart_new("edje", _edje_smart_add, _edje_smart_del, |
From: <enl...@li...> - 2004-02-04 19:43:50
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/lib Modified Files: edje_program.c Log Message: fixed a memleak =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_program.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- edje_program.c 17 Jan 2004 13:09:35 -0000 1.25 +++ edje_program.c 4 Feb 2004 19:41:27 -0000 1.26 @@ -600,11 +600,25 @@ _edje_unblock(ed); } +static void _edje_emission_free(Edje_Emission *ee) +{ + if (!ee) + return; + + if (ee->signal) + free(ee->signal); + + if (ee->source) + free(ee->source); + + free(ee); +} + void _edje_emit(Edje *ed, char *sig, char *src) { Evas_List *l; - Edje_Emission *ee; + Edje_Emission *ee = NULL; /* limit self-feeding loops in callbacks to 64 levels */ static int recursions = 0; static int recursion_limit = 0; @@ -614,10 +628,9 @@ while (ed->emissions) { ee = ed->emissions->data; - free(ee->signal); - free(ee->source); - free(ee); ed->emissions = evas_list_remove(ed->emissions, ee); + + _edje_emission_free(ee); } return; } @@ -754,11 +767,15 @@ if (tmps) free(tmps); tmps = NULL; } - free(ee->signal); - free(ee->source); - free(ee); + + _edje_emission_free(ee); + ee = NULL; } break_prog: + + if (ee) + _edje_emission_free(ee); + recursions--; if (recursions == 0) recursion_limit = 0; _edje_thaw(ed); |
From: <enl...@li...> - 2004-03-06 10:43:53
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/src/bin Modified Files: edje_cc_out.c Log Message: don't segfault on a missing default description =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc_out.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- edje_cc_out.c 23 Jan 2004 02:13:35 -0000 1.9 +++ edje_cc_out.c 6 Mar 2004 10:21:15 -0000 1.10 @@ -44,6 +44,11 @@ static Evas_List *program_lookups = NULL; static Evas_List *image_lookups = NULL; +#define ABORT_WRITE(eet_file, file) \ + eet_close(eet_file); \ + unlink(file); \ + exit(-1); + void data_setup(void) { @@ -94,7 +99,7 @@ { fprintf(stderr, "%s: Error. unable to write \"edje_file\" entry to \"%s\" \n", progname, file_out); - exit(-1); + ABORT_WRITE(ef, file_out); } else total_bytes += bytes; @@ -128,7 +133,7 @@ { fprintf(stderr, "%s: Error. unable to read all of font file \"%s\"\n", progname, fn->file); - exit(-1); + ABORT_WRITE(ef, file_out); } fsize = pos; } @@ -157,7 +162,7 @@ { fprintf(stderr, "%s: Error. unable to read all of font file \"%s\"\n", progname, buf); - exit(-1); + ABORT_WRITE(ef, file_out); } fsize = pos; } @@ -170,7 +175,7 @@ { fprintf(stderr, "%s: Error. unable to write font part \"%s\" entry to %s \n", progname, fn->file, file_out); - exit(-1); + ABORT_WRITE(ef, file_out); } else { @@ -182,7 +187,7 @@ { fprintf(stderr, "%s: Error. unable to write font part \"%s\" as \"%s\" part entry to %s \n", progname, fn->file, buf, file_out); - exit(-1); + ABORT_WRITE(ef, file_out); } else { @@ -254,7 +259,7 @@ { fprintf(stderr, "%s: Error. unable to write image part \"%s\" as \"%s\" part entry to %s \n", progname, img->entry, buf, file_out); - exit(-1); + ABORT_WRITE(ef, file_out); } else { @@ -266,7 +271,7 @@ { fprintf(stderr, "%s: Error. unable to write image part \"%s\" as \"%s\" part entry to %s \n", progname, img->entry, buf, file_out); - exit(-1); + ABORT_WRITE(ef, file_out); } if (verbose) { @@ -307,6 +312,14 @@ ep = ll->data; epd = ep->default_desc; + + if (!epd) + { + fprintf(stderr, "%s: Error. description missing for part \"%s\"\n", + progname, ep->name); + ABORT_WRITE(ef, file_out); + } + if (epd->text.font) { Evas_List *lll; @@ -368,7 +381,7 @@ { fprintf(stderr, "%s: Error. unable to write \"%s\" part entry to %s \n", progname, buf, file_out); - exit(-1); + ABORT_WRITE(ef, file_out); } else { |
From: <enl...@li...> - 2004-04-04 11:12:16
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje Modified Files: configure.in Log Message: updated documentation for --with-vim =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/configure.in,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- configure.in 2 Apr 2004 00:16:21 -0000 1.10 +++ configure.in 4 Apr 2004 10:59:50 -0000 1.11 @@ -237,7 +237,7 @@ AC_MSG_CHECKING([for location of Vim data files]) install_vim="yes"; AC_ARG_WITH(vim, - [ --with-vim=DIR Location of Vim data files (PREFIX/share/vim)], + [ --with-vim=DIR Location of Vim data files [[autodetect]]], [if test -d "${withval}"; then vimdir="${withval}" fi]) |
From: <enl...@li...> - 2004-05-12 20:14:22
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/data/template/macros Added Files: .cvsignore Makefile.am Log Message: fixed dist stuff |
From: <enl...@li...> - 2004-05-12 20:14:22
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/data/template/fonts Added Files: .cvsignore Makefile.am Log Message: fixed dist stuff |
From: <enl...@li...> - 2004-05-12 20:14:23
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/data/src Added Files: .cvsignore Makefile.am Log Message: fixed dist stuff |
From: <enl...@li...> - 2004-05-12 20:14:23
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/data/template/embryo Added Files: .cvsignore Makefile.am Log Message: fixed dist stuff |
From: <enl...@li...> - 2004-05-12 20:14:23
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/data/template/parts Added Files: .cvsignore Makefile.am Log Message: fixed dist stuff |
From: <enl...@li...> - 2004-05-12 20:14:23
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/data/images Added Files: .cvsignore Makefile.am Log Message: fixed dist stuff |
From: <enl...@li...> - 2004-05-12 20:14:23
|
Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : libs/edje Dir : e17/libs/edje/data/include Added Files: .cvsignore Makefile.am Log Message: fixed dist stuff |