Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/pager


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Cleanup. Add e_config_save_queue()

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -3 -r1.42 -r1.43
--- e_mod_main.c        9 Feb 2005 12:16:21 -0000       1.42
+++ e_mod_main.c        10 Feb 2005 12:03:08 -0000      1.43
@@ -5,11 +5,7 @@
 #include "e_mod_main.h"
 
 /* TODO
- * save config
- *
  * which options should be in main menu, and which in face menu?
- * abort whole module if one alloc fails? We're screwed if....
- * more NULL checks?
  */
 
 /* module private routines */
@@ -18,7 +14,7 @@
 static void        _pager_config_menu_new(Pager *pager);
 
 static Pager_Face *_pager_face_new(E_Zone *zone);
-static void        _pager_face_del(Pager_Face *face);
+static void        _pager_face_free(Pager_Face *face);
 static void        _pager_face_menu_new(Pager_Face *face);
 static void        _pager_face_enable(Pager_Face *face);
 static void        _pager_face_disable(Pager_Face *face);
@@ -26,9 +22,9 @@
 static void        _pager_face_zone_leave(Pager_Face *face);
 
 static Pager_Desk *_pager_desk_new(Pager_Face *face, E_Desk *desk, int x, int 
y);
-static void        _pager_desk_del(Pager_Desk *desk);
+static void        _pager_desk_free(Pager_Desk *desk);
 static Pager_Win  *_pager_window_new(Pager_Desk *desk, E_Border *border);
-static void        _pager_window_del(Pager_Win *win);
+static void        _pager_window_free(Pager_Win *win);
 
 static void        _pager_face_draw(Pager_Face *face);
 static void        _pager_window_move(Pager_Face *face, Pager_Win *win);
@@ -189,6 +185,7 @@
 
             mn = e_menu_new();
             e_menu_item_submenu_set(mi, mn);
+            pager->menus = evas_list_append(pager->menus, mn);
 
             for (l3 = con->zones; l3; l3 = l3->next)
               {
@@ -215,6 +212,7 @@
                         }
 
                       /* Menu */
+                      /* This menu must be initialized after conf */
                       _pager_face_menu_new(face);
 
                       mi = e_menu_item_new(mn);
@@ -237,18 +235,18 @@
    Evas_List *list;
 
    for (list = pager->faces; list; list = list->next)
-     _pager_face_del(list->data);
-
+     _pager_face_free(list->data);
    evas_list_free(pager->faces);
-   e_object_del(E_OBJECT(pager->config_menu));
 
-   for (list = pager->conf->faces; list; list = list->next)
-     free(list->data);
-   free(pager->conf);
+   for (list = pager->menus; list; list = list->next)
+     e_object_del(E_OBJECT(list->data));
+   evas_list_free(pager->menus);
+   e_object_del(E_OBJECT(pager->config_menu));
 
    E_CONFIG_DD_FREE(_conf_edd);
    E_CONFIG_DD_FREE(_conf_face_edd);
 
+   free(pager->conf);
    free(pager);
 }
 
@@ -333,7 +331,7 @@
 }
 
 void
-_pager_face_del(Pager_Face *face)
+_pager_face_free(Pager_Face *face)
 {
    if (face->base) evas_object_del(face->base);
    if (face->screen) evas_object_del(face->screen);
@@ -352,6 +350,7 @@
 
    e_object_del(E_OBJECT(face->menu));
 
+   free(face->conf);
    free(face);
    _pager_count--;
 }
@@ -459,6 +458,7 @@
               }
          }
      }
+   e_config_save_queue();
 }
 
 static void
@@ -488,6 +488,7 @@
               }
          }
      }
+   e_config_save_queue();
 }
 
 static void
@@ -511,7 +512,8 @@
 
          desk = e_desk_at_xy_get(zone, x, y);
          pd = _pager_desk_new(face, desk, x, y);
-         face->desks = evas_list_append(face->desks, pd);
+         if (pd)
+           face->desks = evas_list_append(face->desks, pd);
        }
    evas_object_resize(face->base, face->fw * face->xnum, face->fh * 
face->ynum);
 }
@@ -523,7 +525,7 @@
    e_object_unref(E_OBJECT(face->zone));
 
    for (list = face->desks; list; list = list->next)
-     _pager_desk_del(list->data);
+     _pager_desk_free(list->data);
 
    evas_list_free(face->desks);
 }
@@ -540,6 +542,8 @@
    Evas_List   *wins;
 
    pd = E_NEW(Pager_Desk, 1);
+   if (!pd) return NULL;
+
    pd->xpos = xpos;
    pd->ypos = ypos;
 
@@ -579,15 +583,16 @@
             continue;
          }
        pw = _pager_window_new(pd, win);
+       if (pw)
+         pd->wins = evas_list_append(pd->wins, pw);
 
-       pd->wins = evas_list_append(pd->wins, pw);
        wins = wins->next;
      }
    return pd;
 }
 
 static void
-_pager_desk_del(Pager_Desk *desk)
+_pager_desk_free(Pager_Desk *desk)
 {
    Evas_List *list;
 
@@ -595,7 +600,7 @@
    e_object_unref(E_OBJECT(desk->desk));
 
    for (list = desk->wins; list; list = list->next)
-     _pager_window_del(list->data);
+     _pager_window_free(list->data);
    evas_list_free(desk->wins);
    free(desk);
 }
@@ -613,6 +618,8 @@
    scaley = (double)desk->face->fy / (double)desk->face->zone->h;
 
    win = E_NEW(Pager_Win, 1);
+   if (!win) return NULL;
+
    win->border = border;
    e_object_ref(E_OBJECT(border));
    visible = !border->iconic;
@@ -645,7 +652,7 @@
 }
 
 static void
-_pager_window_del(Pager_Win *win)
+_pager_window_free(Pager_Win *win)
 {
    if (win->obj) evas_object_del(win->obj);
    if (win->icon) evas_object_del(win->icon);
@@ -899,7 +906,8 @@
    if ((desk = _pager_desk_find(face, ev->border->desk)))
      {
        win = _pager_window_new(desk, ev->border);
-       desk->wins = evas_list_append(desk->wins, win);
+       if (win)
+         desk->wins = evas_list_append(desk->wins, win);
      }
    else
      {
@@ -924,7 +932,7 @@
    if (old && desk)
      {
        desk->wins = evas_list_remove(desk->wins, old);
-       _pager_window_del(old);
+       _pager_window_free(old);
      }
    return 1;
 }
@@ -1056,7 +1064,8 @@
               /* Add desk */
               desk = e_desk_at_xy_get(ev->zone, x, y);
               pd = _pager_desk_new(face, desk, x, y);
-              face->desks = evas_list_append(face->desks, pd);
+              if (pd)
+                face->desks = evas_list_append(face->desks, pd);
            }
          else if ((x >= desks_x) || (y >= desks_y))
            {
@@ -1074,7 +1083,7 @@
                    new->current = 1;
                 }
               face->desks = evas_list_remove(face->desks, pd);
-              _pager_desk_del(pd);
+              _pager_desk_free(pd);
            }
        }
      }
@@ -1120,6 +1129,7 @@
 
    face->conf->scale = e_menu_item_toggle_get(mi);
    e_menu_item_toggle_set(mi, face->conf->scale);
+   e_config_save_queue();
 }
 
 static void
@@ -1129,6 +1139,7 @@
 
    face = data;
    face->conf->resize = PAGER_RESIZE_NONE;
+   e_config_save_queue();
 }
 
 static void
@@ -1138,6 +1149,7 @@
 
    face = data;
    face->conf->resize = PAGER_RESIZE_HORZ;
+   e_config_save_queue();
 }
 
 static void
@@ -1147,6 +1159,7 @@
 
    face = data;
    face->conf->resize = PAGER_RESIZE_VERT;
+   e_config_save_queue();
 }
 
 static void
@@ -1156,6 +1169,7 @@
 
    face = data;
    face->conf->resize = PAGER_RESIZE_BOTH;
+   e_config_save_queue();
 }
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/pager/e_mod_main.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_mod_main.h        9 Feb 2005 12:16:21 -0000       1.12
+++ e_mod_main.h        10 Feb 2005 12:03:09 -0000      1.13
@@ -35,6 +35,7 @@
 {
    Evas_List   *faces;
    E_Menu      *config_menu;
+   Evas_List   *menus;
 
    Config      *conf;
 };




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to