From 890d07357638938964822e9c82baab045fb58d00 Mon Sep 17 00:00:00 2001 From: sebastid Date: Sun, 20 Mar 2005 19:07:20 +0000 Subject: [PATCH] Now a border sends the added event before the sticky etc. events, so the pager doesn't have to have a special check. SVN revision: 13816 --- src/bin/e_border.c | 12 ++++++------ src/modules/pager/e_mod_main.c | 34 ++++++++-------------------------- 2 files changed, 14 insertions(+), 32 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index c27d652fd..6c1c8b1d6 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -2713,6 +2713,12 @@ _e_border_eval(E_Border *bd) free(pnd); bd->pending_move_resize = evas_list_remove_list(bd->pending_move_resize, bd->pending_move_resize); } + + ev = calloc(1, sizeof(E_Event_Border_Add)); + ev->border = bd; + e_object_ref(E_OBJECT(bd)); + ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, NULL); + /* Recreate state */ if (e_hints_window_sticky_isset(bd->client.win)) e_border_stick(bd); @@ -2732,12 +2738,6 @@ _e_border_eval(E_Border *bd) bd->y + bd->client_inset.t, bd->client.w, bd->client.h); - - - ev = calloc(1, sizeof(E_Event_Border_Add)); - ev->border = bd; - e_object_ref(E_OBJECT(bd)); - ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, NULL); } /* effect changes to the window border itself */ diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c index f46dac48d..21b666d59 100644 --- a/src/modules/pager/e_mod_main.c +++ b/src/modules/pager/e_mod_main.c @@ -782,33 +782,15 @@ _pager_face_cb_event_border_add(void *data, int type, void *event) if ((face->zone != ev->border->zone) || (_pager_face_border_find(face, ev->border))) return 1; - if (ev->border->sticky) + + pd = _pager_face_desk_find(face, ev->border->desk); + if (pd) { - Evas_List *l; - - /* go through all desks */ - for (l = face->desks; l; l = l->next) - { - Pager_Win *pw; - - pd = l->data; - /* create it and add it */ - pw = _pager_window_new(pd, ev->border); - if (pw) - pd->wins = evas_list_append(pd->wins, pw); - } - } - else - { - pd = _pager_face_desk_find(face, ev->border->desk); - if (pd) - { - Pager_Win *pw; - - pw = _pager_window_new(pd, ev->border); - if (pw) - pd->wins = evas_list_append(pd->wins, pw); - } + Pager_Win *pw; + + pw = _pager_window_new(pd, ev->border); + if (pw) + pd->wins = evas_list_append(pd->wins, pw); } return 1; }