Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/modules/pager Modified Files: e_mod_main.c Log Message: fixed pager stick/unstick/duplication problem (thanks catalyst/JC) :) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/pager/e_mod_main.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -3 -r1.62 -r1.63 --- e_mod_main.c 18 Mar 2005 17:13:10 -0000 1.62 +++ e_mod_main.c 19 Mar 2005 12:33:24 -0000 1.63 @@ -131,7 +131,7 @@ about(E_Module *module) { e_error_dialog_show("Enlightenment Pager Module", - "A pager module to navigate E17 desktops."); + "A pager module to navigate virtual desktops."); return 1; } @@ -929,22 +929,46 @@ Pager_Face *face; Pager_Win *pw; Pager_Desk *pd; - + Evas_List *l; + int found = 0; + face = data; ev = event; if (face->zone != ev->border->zone) return 1; if (ev->border->sticky) return 1; - pw = _pager_face_border_find(face, ev->border); - pd = _pager_face_desk_find(face, ev->border->desk); - if ((pw) && (pd)) + for (l = face->desks; l; l = l->next) + { + pd = l->data; + if (ev->border->desk != pd->desk) + { + pw = _pager_desk_border_find(pd, ev->border); + if (pw) + { + pd->wins = evas_list_remove(pd->wins, pw); + _pager_window_free(pw); + } + } + else + { + pw = _pager_desk_border_find(pd, ev->border); + if (pw) found = 1; + } + } + if (!found) { - pw->desk->wins = evas_list_remove(pw->desk->wins, pw); - pw->desk = pd; - pd->wins = evas_list_append(pd->wins, pw); - e_layout_unpack(pw->window_object); - e_layout_pack(pd->layout_object, pw->window_object); - _pager_window_move(face, pw); + pw = _pager_face_border_find(face, ev->border); + pd = _pager_face_desk_find(face, ev->border->desk); + if ((pw) && (pd)) + { + pw->desk->wins = evas_list_remove(pw->desk->wins, pw); + e_layout_unpack(pw->window_object); + + pw->desk = pd; + pd->wins = evas_list_append(pd->wins, pw); + e_layout_pack(pd->layout_object, pw->window_object); + _pager_window_move(face, pw); + } } return 1; } ------------------------------------------------------- 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