Enlightenment CVS committal

Author  : handyande
Project : e17
Module  : apps/e

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


Modified Files:
        e_mod_main.c 


Log Message:
Properly hide borders from the cache that are no longer needed
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_mod_main.c        10 Jan 2005 19:51:10 -0000      1.6
+++ e_mod_main.c        10 Jan 2005 20:54:19 -0000      1.7
@@ -271,10 +271,12 @@
          px = e->fx + (x * pw);
          py = e->fy + (y * ph);
 
-         desk_obj = NULL;
          if (desks)
-           desk_obj = (Evas_Object *) desks->data; /* re-use the objects if 
possible */
-         if (!desk_obj)
+           {
+              desk_obj = (Evas_Object *) desks->data; /* re-use the objects if 
possible */
+              desks = desks->next;
+           }
+         else
            {
               desk_obj = edje_object_add(e->evas);
               edje_object_file_set(desk_obj,
@@ -282,11 +284,11 @@
                                    e_path_find(path_themes, "default.eet"),
                                    "modules/pager/desk");
               evas_object_pass_events_set(desk_obj, 1);
-              evas_object_show(desk_obj);
               e->desks = evas_list_append(e->desks, desk_obj);
             }
          evas_object_resize(desk_obj, pw, ph);
          evas_object_move(desk_obj, px, py);
+         evas_object_show(desk_obj);
 
          top = evas_object_layer_get(desk_obj);
 
@@ -295,16 +297,17 @@
            {
               Evas_Coord winx, winy, winw, winh;
               border = (E_Border *) clients->data;
-
               winx = (Evas_Coord) ((double) border->x) * scalex;
               winy = (Evas_Coord) ((double) border->y) * scaley;
               winw = (Evas_Coord) ((double) border->w) * scalex;
               winh = (Evas_Coord) ((double) border->h) * scaley;
 
-              win_obj = NULL;
               if (wins)
-                win_obj = (Evas_Object *) wins->data;
-              if (!win_obj)
+                {
+                   win_obj = (Evas_Object *) wins->data;
+                   wins = wins->next;
+                }
+              else
                 {
                    win_obj = edje_object_add(e->evas);
                    edje_object_file_set(win_obj,
@@ -313,28 +316,38 @@
                                         "modules/pager/window");
                    evas_object_pass_events_set(win_obj, 1);
 
-                   evas_object_show(win_obj);
                    e->wins = evas_list_append(e->wins, win_obj);
                 }
               evas_object_resize(win_obj, winw, winh);
               evas_object_move(win_obj, px + winx, py + winy);
+              evas_object_show(win_obj);
 
               toptmp = evas_object_layer_get(win_obj);
               if (toptmp > top)
                 top = toptmp;
 
               clients = clients->next;
-              if (wins)
-                wins = wins->next;
            }
          if (desk == current)
            {
               evas_object_move(e->screen, px, py);
               evas_object_layer_set(e->screen, top + 1);
            }
-         if (desks)
-           desks = desks->next;
        }
+
+   /* hide objects not needed; */
+   while (desks)
+     {
+       desk_obj = (Evas_Object *) desks->data;
+       evas_object_hide(desk_obj);
+       desks = desks->next;
+     }
+   while (wins)
+     {
+       win_obj = (Evas_Object *) wins->data;
+       evas_object_hide(win_obj);
+       wins = wins->next;
+     }
 }
 
 static void




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to