Enlightenment CVS committal Author : glassy Project : e17 Module : apps/engycad
Dir : e17/apps/engycad/src Modified Files: drawing.c guiserv.c layer.c main.c menu.c serv.c shell.c Log Message: more work on leaks =================================================================== RCS file: /cvs/e/e17/apps/engycad/src/drawing.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- drawing.c 9 Jul 2007 17:19:54 -0000 1.3 +++ drawing.c 10 Jul 2007 15:16:10 -0000 1.4 @@ -61,7 +61,7 @@ if (fn) fn++; if (!fn) - fn = DUP(shell->drawingfile); + fn = shell->drawingfile; f = fopen(full, "rb"); if (!f) new_file = 1; =================================================================== RCS file: /cvs/e/e17/apps/engycad/src/guiserv.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- guiserv.c 8 Jul 2007 04:15:49 -0000 1.1 +++ guiserv.c 10 Jul 2007 15:16:10 -0000 1.2 @@ -135,7 +135,7 @@ s = _gui_get_string(); IFCMD("logo") logo_init(); - IFCMD("_exit") exit(0); + IFCMD("_exit") ecore_main_loop_quit(); // GLS // IFCMD("cl_toggle") cl_toggle(); IFCMD("log_toggle") log_toggle(); @@ -182,7 +182,9 @@ IFCMD("cl_set_hint") { - cl_hint_set(o_cl, _gui_get_string()); + char * hint = _gui_get_string(); + cl_hint_set(o_cl, hint); + FREE(hint); fl2 = 1; } IFCMD("_clean") evas_damage_rectangle_add(shell->evas, 0, 0, shell->w, @@ -284,6 +286,10 @@ log_add_string(DUP(s)); if (!fl) serv_put_string(s); + else + { + FREE(s); + } if (!fl2) cl_hint_set(o_cl, DUP(_("cmd: "))); } =================================================================== RCS file: /cvs/e/e17/apps/engycad/src/layer.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- layer.c 9 Jul 2007 17:19:54 -0000 1.3 +++ layer.c 10 Jul 2007 15:16:10 -0000 1.4 @@ -343,6 +343,7 @@ ENGY_ASSERT(res); sprintf(buf, "/layer/%d/label", layer->id); + IF_FREE(layer->label); E_DB_STR_GET(f, buf, layer->label, res); ENGY_ASSERT(res); if(layer->label && (strlen(layer->label)>4000)) =================================================================== RCS file: /cvs/e/e17/apps/engycad/src/main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- main.c 8 Jul 2007 04:15:49 -0000 1.1 +++ main.c 10 Jul 2007 15:16:10 -0000 1.2 @@ -1,48 +1,4 @@ -#include "engy.h" - -#define R(a) engy_utils_report((a),1) - -int -handler_signal_exit(void *data, int ev_type, void *ev) -{ - Ecore_Event_Signal_Exit *e; - - e = ev; - if (e->interrupt) printf("exit: interrupt\n"); - if (e->quit) printf("exit: quit\n"); - if (e->terminate) printf("exit: terminate\n"); - - ecore_main_loop_quit(); - return 1; -} - - -int main1(int argc, char *argv[]) -{ - - int res; - Evas * evas; - -// res = engy_pro_args_parse(argc, argv); -// R(res); - - if (!ecore_init()) return -1; - ecore_app_args_set(argc, (const char **)argv); - - ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, - handler_signal_exit, NULL); - - engy_window_init(); - - engy_cl_init(); - - engy_edje_init(); - - ecore_main_loop_begin(); - - return 0; -} - +// ready to be removed =================================================================== RCS file: /cvs/e/e17/apps/engycad/src/menu.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- menu.c 9 Jul 2007 17:19:54 -0000 1.3 +++ menu.c 10 Jul 2007 15:16:10 -0000 1.4 @@ -251,6 +251,8 @@ if(s && (strlen(s)>4000)) s[4000]=0; if (strcmp(s, "NULL")) mi->pic = s; + else + free(s); menu_item_create_evas_object(mi); @@ -810,6 +812,7 @@ Menu_Item *mi = l->data; IF_FREE(mi->label); IF_FREE(mi->param); + IF_FREE(mi->pic); free(mi); } =================================================================== RCS file: /cvs/e/e17/apps/engycad/src/serv.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- serv.c 8 Jul 2007 14:56:23 -0000 1.2 +++ serv.c 10 Jul 2007 15:16:10 -0000 1.3 @@ -42,6 +42,7 @@ Evas_List *serv_queue = NULL; int parsed_flag; +int fl_shutdown = FALSE; /* protos */ char *_serv_get_string(void); @@ -213,7 +214,7 @@ void serv_loop(void) { - while (1) + while (!fl_shutdown) { char *s; @@ -221,6 +222,9 @@ s = serv_get_string(); serv_parser(s); } + + printf("I quit!!!\n"); + fl_shutdown = 2; } #define IFCMD(a) if(!strcmp(_(s),_(a)))set_flag(); if(!strcmp(_(s),_(a))) @@ -304,6 +308,7 @@ IFCMD("save_image") serv_save_image(); IFCMD("save_ps") serv_save_ps(); IFCMD("help") serv_help(); + IFCMD("__exit") fl_shutdown = 1; FREE(s); } =================================================================== RCS file: /cvs/e/e17/apps/engycad/src/shell.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- shell.c 9 Jul 2007 17:19:54 -0000 1.3 +++ shell.c 10 Jul 2007 15:16:10 -0000 1.4 @@ -169,8 +169,6 @@ exit(-1); } - sprintf(buf, "%s/engycad/.engycad.db", home); - shell->rcfile = DUP(buf); sprintf(buf, "%s/engycad", home); shell->home = DUP(buf); } @@ -216,7 +214,8 @@ */ if (!strcmp(argv[i], "--rcfile") || !strcmp(argv[i], "-f")) { - shell->rcfile = argv[i + 1]; + IF_FREE(shell->rcfile); + shell->rcfile = DUP(argv[i + 1]); k[i] = 0; k[i + 1] = 0; } @@ -278,6 +277,7 @@ IF_FREE(shell->home); shell->home = s; } else { + IF_FREE(shell->home); shell->home = DUP(PACKAGE_DATA_DIR); } @@ -573,6 +573,7 @@ evas = ecore_evas_get(ee); evas_font_path_prepend(evas, fontdir); + FREE(fontdir); ecore_evas_callback_delete_request_set(ee, engy_delete_request); ecore_evas_callback_pre_render_set(ee, engy_pre_rend); ecore_evas_callback_post_render_set(ee, engy_post_rend); @@ -607,7 +608,7 @@ pointer_init(); serv_init(); logo_init(); - evas_render(shell->evas); +// evas_render(shell->evas); } void @@ -1115,6 +1116,9 @@ { E_DB_FLUSH; + serv_put_string(DUP("__exit")); + usleep(10000); + gui_apply(); cl_shutdown(); menu_shutdown(); panel_shutdown(); @@ -1140,5 +1144,6 @@ IF_FREE(shell->hatch_styles_file); IF_FREE(shell->home); IF_FREE(shell->aliases); + } ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs