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