Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_config_startup.c 


Log Message:
Big Cleanup for Startup Config Dialog.
    -use E_FREE rather than free() to eliminate dangling pointers.
    -get current zone once and reuse, rather than getting more than once.
    -Removed unused/unneeded variables.
    

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_startup.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_int_config_startup.c      11 Jul 2006 18:57:13 -0000      1.11
+++ e_int_config_startup.c      1 Aug 2006 02:42:44 -0000       1.12
@@ -40,10 +40,9 @@
 _fill_data(E_Config_Dialog_Data *cfdata) 
 {
    cfdata->show_splash = e_config->show_splash;
+   cfdata->init_default_theme = NULL;
    if (e_config->init_default_theme)
      cfdata->init_default_theme = strdup(e_config->init_default_theme);
-   else
-     cfdata->init_default_theme = NULL;
 }
 
 static void *
@@ -66,8 +65,11 @@
        ecore_file_monitor_del(_init_file_monitor);
        _init_file_monitor = NULL;
      }
-   if (cfdata->init_default_theme) free(cfdata->init_default_theme);
-   free(cfdata);
+
+   if (cfdata->init_default_theme) 
+     E_FREE(cfdata->init_default_theme);
+   
+   E_FREE(cfdata);
 }
 
 static int
@@ -99,6 +101,7 @@
 {
    Evas_Object *ot, *ob, *il, *im;
    char path[4096];
+   char *homedir;
    
    ot = e_widget_table_add(evas, 0);
    il = e_widget_ilist_add(evas, 48, 48, &(cfdata->init_default_theme));
@@ -112,29 +115,30 @@
    e_widget_table_object_append(ot, il, 0, 0, 1, 2, 1, 1, 1, 1);
    e_widget_table_object_append(ot, im, 1, 0, 1, 2, 1, 1, 1, 1);
 
-   ob = e_widget_check_add(evas, _("Show Splash Screen At Boot"), 
&(cfdata->show_splash));
-   e_widget_table_object_append(ot, ob, 0, 3, 2, 1, 1, 0, 0, 0);
+   ob = e_widget_check_add(evas, _("Show Splash Screen At Boot"), 
+                          &(cfdata->show_splash));
+   e_widget_table_object_append(ot, ob, 1, 3, 1, 1, 1, 0, 0, 0);
    
    if (_init_file_monitor) 
      {
        ecore_file_monitor_del(_init_file_monitor);
        _init_file_monitor = NULL;
      }
-   
-   snprintf(path, sizeof(path), "%s/.e/e/init", e_user_homedir_get());
+
+   homedir = e_user_homedir_get();
+   snprintf(path, sizeof(path), "%s/.e/e/init", homedir);
+   E_FREE(homedir);
+
    _init_file_monitor = ecore_file_monitor_add(path, _init_file_added, cfdata);
-   
    return ot;
 }
 
 static void
 _load_inits(E_Config_Dialog *cfd, Evas_Object *il) 
 {
-   Evas *evas;
+   E_Zone *zone;
    Evas_Object *im;
    Evas_List *init_dirs, *init;
-   Ecore_Evas *eebuf;
-   Evas *evasbuf;
    int i = 0;
    int selnum = -1;
    char *homedir;
@@ -142,14 +146,9 @@
    if (!il) return;
 
    homedir = e_user_homedir_get();
-   
-   evas = evas_object_evas_get(il);
-   eebuf = ecore_evas_buffer_new(1, 1);
-   evasbuf = ecore_evas_get(eebuf);
-   
+   zone = e_zone_current_get(cfd->dia->win->container);
    im = e_widget_preview_add(cfd->dia->win->evas, 320, 
-                            (320 * 
e_zone_current_get(cfd->dia->win->container)->h) /
-                            e_zone_current_get(cfd->dia->win->container)->w);
+                            (320 * zone->h) / zone->w);
    
    /* Load inits */
    init_dirs = e_path_dir_list_get(path_init);
@@ -162,6 +161,7 @@
        
        d = init->data;
        if (!ecore_file_is_dir(d->dir)) continue;
+
        inits = ecore_file_ls(d->dir);
        if (!inits) continue;
        
@@ -177,7 +177,8 @@
          }
        if (!detected) 
          {
-            if (!strncmp(d->dir, e_prefix_data_get(), 
strlen(e_prefix_data_get())))
+            if (!strncmp(d->dir, e_prefix_data_get(), 
+                         strlen(e_prefix_data_get())))
               {
                  e_widget_ilist_header_append(il, NULL, _("System"));
                  i++;
@@ -196,43 +197,41 @@
             Evas_Object *ic = NULL;
             char full_path[4096];
             
-            snprintf(full_path, sizeof(full_path), "%s/%s", d->dir, init_file);
+            snprintf(full_path, sizeof(full_path), "%s/%s", d->dir, 
+                     init_file);
             if (ecore_file_is_dir(full_path)) continue;
-            if (!e_util_edje_collection_exists(full_path, "init/splash")) 
continue;
+            if (!e_util_edje_collection_exists(full_path, "init/splash")) 
+              continue;
 
             ic = e_thumb_icon_add(cfd->dia->win->evas);
             e_thumb_icon_file_set(ic, full_path, "init/splash");
-            e_thumb_icon_size_set(ic, 64,
-                                   (64 * 
e_zone_current_get(cfd->dia->win->container)->h) /
-                                   
e_zone_current_get(cfd->dia->win->container)->w);
+            e_thumb_icon_size_set(ic, 64, (64 * zone->h) / zone->w);
             e_thumb_icon_begin(ic);
-            e_widget_ilist_append(il, ic, ecore_file_strip_ext(init_file), 
_ilist_cb_init_selected, cfd, full_path);
+            e_widget_ilist_append(il, ic, ecore_file_strip_ext(init_file), 
+                                  _ilist_cb_init_selected, cfd, full_path);
             
             if ((e_config->init_default_theme) && 
                 (!strcmp(e_config->init_default_theme, init_file))) 
               {
-                 E_Zone *z;
-                 
-                 z = e_zone_current_get(cfd->dia->win->container);
-                 
                  selnum = i;
                  evas_object_del(im);
-                 im = e_widget_preview_add(cfd->dia->win->evas, 320, (320 * 
z->h) / z->w);
+                 im = e_widget_preview_add(cfd->dia->win->evas, 320, 
+                                           (320 * zone->h) / zone->w);
                  e_widget_preview_edje_set(im, full_path, "init/splash");
               }
             i++;
          }
-       free(init_file);
+       E_FREE(init_file);
        ecore_list_destroy(inits);
      }
+   E_FREE(homedir);
+   cfd->data = im;
+
    evas_list_free(init);
    if (init_dirs) e_path_dir_list_free(init_dirs);
-   cfd->data = im;
+
    e_widget_ilist_go(il);
-   if (selnum >= 0) 
-     e_widget_ilist_selected_set(il, selnum);
-   
-   free(homedir);
+   if (selnum >= 0) e_widget_ilist_selected_set(il, selnum);
 }
 
 void
@@ -240,19 +239,19 @@
 {
    E_Config_Dialog *cfd;
    E_Config_Dialog_Data *cfdata;
-   Evas *evas;
-   const char *init;
-   const char *f;
+   const char *init, *f;
    
    cfd = data;
-   cfdata = cfd->cfdata;
-   evas = cfd->dia->win->evas;
+   if (!cfd) return;
 
+   cfdata = cfd->cfdata;
+   if (!cfdata) return;
+   
    if (!cfdata->init_default_theme[0])
      init = e_path_find(path_init, "init.edj");
    else 
      {
-       f = ecore_file_get_file(cfd->cfdata->init_default_theme);
+       f = ecore_file_get_file(cfdata->init_default_theme);
        init = e_path_find(path_init, f);
      }
    e_widget_preview_edje_set(cfd->data, init, "init/splash");
@@ -263,7 +262,6 @@
 {
    E_Config_Dialog *cfd;
    E_Config_Dialog_Data *cfdata;
-   Evas *evas;
    Evas_Object *il, *ic;
    char *file, *noext;
    
@@ -276,8 +274,6 @@
    cfd = cfdata->cfd;
    if (!cfd) return;
    
-   evas = e_win_evas_get(cfd->dia->win);
-   
    file = (char *)ecore_file_get_file((char *)path);
    noext = ecore_file_strip_ext(file);
    
@@ -285,9 +281,13 @@
      {
        if (e_util_edje_collection_exists((char *)path, "init/splash")) 
          {
+            Evas *evas;
+
+            evas = e_win_evas_get(cfd->dia->win);
             ic = edje_object_add(evas);
             e_util_edje_icon_set(ic, "enlightenment/run");
-            e_widget_ilist_append(il, ic, noext, _ilist_cb_init_selected, cfd, 
(char *)path);
+            e_widget_ilist_append(il, ic, noext, _ilist_cb_init_selected, 
+                                  cfd, (char *)path);
          }
      }
    else if (event == ECORE_FILE_EVENT_DELETED_FILE)



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to