Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/modules/pager Modified Files: e_mod_main.c Log Message: Cleanup. Please don't add code that hides problems with the border events or other pager issues. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/pager/e_mod_main.c,v retrieving revision 1.70 retrieving revision 1.71 diff -u -3 -r1.70 -r1.71 --- e_mod_main.c 20 Mar 2005 19:13:32 -0000 1.70 +++ e_mod_main.c 21 Mar 2005 20:34:57 -0000 1.71 @@ -309,7 +309,7 @@ face->ev_handler_border_raise = ecore_event_handler_add(E_EVENT_BORDER_RAISE, _pager_face_cb_event_border_raise, face); - face->ev_handler_border_desk_set = + face->ev_handler_border_lower = ecore_event_handler_add(E_EVENT_BORDER_LOWER, _pager_face_cb_event_border_lower, face); face->ev_handler_border_icon_change = @@ -627,7 +627,7 @@ static Pager_Win * _pager_face_border_find(Pager_Face *face, E_Border *border) { - Evas_List *l, *ll; + Evas_List *l; for (l = face->desks; l; l = l->next) { @@ -779,9 +779,14 @@ face = data; ev = event; - if ((face->zone != ev->border->zone) || - (_pager_face_border_find(face, ev->border))) - return 1; + if ((face->zone != ev->border->zone)) + return 1; + if (_pager_face_border_find(face, ev->border)) + { + printf("BUG: _pager_face_cb_event_border_add()\n"); + printf(" An already existing border shouldn't be added again\n"); + return 1; + } pd = _pager_face_desk_find(face, ev->border->desk); if (pd) @@ -841,10 +846,7 @@ if (pw) { if (ev->border->desk->visible) - { - pd->wins = evas_list_remove(pd->wins, pw); - _pager_window_free(pw); - } + evas_object_hide(pw->window_object); } } return 1; @@ -872,27 +874,6 @@ if (ev->border->desk->visible) evas_object_show(pw->window_object); } - else - { - if (ev->border->sticky) - { - /* create it and add it */ - pw = _pager_window_new(pd, ev->border); - if (pw) - pd->wins = evas_list_append(pd->wins, pw); - } - else - { - if (ev->border->desk == pd->desk) - { - Pager_Win *pw; - - pw = _pager_window_new(pd, ev->border); - if (pw) - pd->wins = evas_list_append(pd->wins, pw); - } - } - } } return 1; } @@ -998,51 +979,24 @@ } /* its not sticky but its in the pager */ + /* move it to the right desk */ if (pw) { - for (l = face->desks; l; l = l->next) - { - pd = l->data; - /* if the border is not meant to be on this desk - remove */ - pw = _pager_desk_border_find(pd, ev->border); - if (ev->border->desk != pd->desk) - { - if (pw) - { - pd->wins = evas_list_remove(pd->wins, pw); - _pager_window_free(pw); - } - } - /* it is meant to be here */ - else - { - /* mark it as found */ - if (pw) found = 1; - } - } - /* if the border was not found on the appropriate desk, we have - * to move it to the right desk */ - if (!found) - { - /* find the window */ - /* FIXME: pw will always be NULL, because we have removed - * this border from the other desks... */ - pw = _pager_face_border_find(face, ev->border); - /* find the pager desk of the target desk */ - pd = _pager_face_desk_find(face, ev->border->desk); - if ((pw) && (pd)) - { - /* remove it from whatever desk it was on */ - pw->desk->wins = evas_list_remove(pw->desk->wins, pw); - e_layout_unpack(pw->window_object); - - /* add it to the one its MEANT to be on */ - pw->desk = pd; - pd->wins = evas_list_append(pd->wins, pw); - e_layout_pack(pd->layout_object, pw->window_object); - e_layout_child_raise(pw->window_object); - _pager_window_move(face, pw); - } + /* move it to the right desk */ + /* find the pager desk of the target desk */ + pd = _pager_face_desk_find(face, ev->border->desk); + if (pd) + { + /* remove it from whatever desk it was on */ + pw->desk->wins = evas_list_remove(pw->desk->wins, pw); + e_layout_unpack(pw->window_object); + + /* add it to the one its MEANT to be on */ + pw->desk = pd; + pd->wins = evas_list_append(pd->wins, pw); + e_layout_pack(pd->layout_object, pw->window_object); + e_layout_child_raise(pw->window_object); + _pager_window_move(face, pw); } } /* the border isnt in this pager at all - it must have moved zones */ @@ -1149,7 +1103,7 @@ for (l = face->desks; l; l = l->next) { Pager_Desk *pd; - Pager_Win *pw, *pw2 = NULL; + Pager_Win *pw; pd = l->data; pw = _pager_desk_border_find(pd, ev->border); @@ -1254,7 +1208,6 @@ Pager_Face *face; Pager_Desk *desk; E_Event_Desk_Show *ev; - Evas_List *desks; face = data; ev = event; ------------------------------------------------------- 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