From 8eacf644121a2b21d54b77e0b25f814b2ab36113 Mon Sep 17 00:00:00 2001 From: Sebastian Dransfeld Date: Tue, 6 Nov 2012 21:31:25 +0000 Subject: [PATCH] pager: prevent double pager windows SVN revision: 78950 --- src/modules/pager/e_mod_main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c index ef4a49879..2bb1cf994 100644 --- a/src/modules/pager/e_mod_main.c +++ b/src/modules/pager/e_mod_main.c @@ -1140,7 +1140,7 @@ _pager_cb_event_border_stick(void *data __UNUSED__, int type __UNUSED__, void *e if (!pw) continue; EINA_LIST_FOREACH(p->desks, l2, pd) - if (ev->border->desk != pd->desk) + if ((ev->border->desk != pd->desk) && (!_pager_desk_window_find(pd, ev->border))) { pw = _pager_window_new(pd, ev->border); if (pw) pd->wins = eina_list_append(pd->wins, pw); @@ -1250,7 +1250,7 @@ _pager_window_desk_change(Pager *pager, E_Border *bd) { /* find the pager desk it needs to go to */ pd = _pager_desk_find(pager, bd->desk); - if (pd) + if ((pd) && (!_pager_desk_window_find(pd, bd))) { /* create it and add it */ pw = _pager_window_new(pd, bd); @@ -1277,6 +1277,7 @@ _pager_window_desk_change(Pager *pager, E_Border *bd) EINA_LIST_FOREACH(pager->desks, l, pd) { /* create it and add it */ + if (_pager_desk_window_find(pd, bd)) continue; pw = _pager_window_new(pd, bd); if (pw) { @@ -1602,7 +1603,7 @@ _pager_cb_event_border_property(void *data __UNUSED__, int type __UNUSED__, void if (!ev->border->sticky) { pd = _pager_desk_find(p, ev->border->desk); - if (pd) + if ((pd) && (!_pager_desk_window_find(pd, ev->border))) { pw = _pager_window_new(pd, ev->border); if (pw) @@ -1626,6 +1627,7 @@ _pager_cb_event_border_property(void *data __UNUSED__, int type __UNUSED__, void { EINA_LIST_FOREACH(p->desks, l2, pd) { + if (_pager_desk_window_find(pd, ev->border)) continue; pw = _pager_window_new(pd, ev->border); if (pw) {