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

Reply via email to