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:


fix initial stickiness handling

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -3 -r1.66 -r1.67
--- e_mod_main.c        19 Mar 2005 17:31:42 -0000      1.66
+++ e_mod_main.c        19 Mar 2005 17:39:25 -0000      1.67
@@ -775,14 +775,33 @@
    if ((face->zone != ev->border->zone) ||
        (_pager_face_border_find(face, ev->border)))
      return 1;
-   pd = _pager_face_desk_find(face, ev->border->desk);
-   if (pd)
+   if (ev->border->sticky)
      {
-       Pager_Win          *pw;
+       Evas_List             *l;
        
-       pw = _pager_window_new(pd, ev->border);
-       if (pw)
-         pd->wins = evas_list_append(pd->wins, pw);
+       /* 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);
+         }
      }
    return 1;
 }
@@ -1014,14 +1033,29 @@
    /* the border isnt in this pager at all - it must have moved zones */
    else
      {
-       /* find the pager desk it needs to go to */
-       pd = _pager_face_desk_find(face, ev->border->desk);
-       if (pd)
+       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);
+            /* find the pager desk it needs to go to */
+            pd = _pager_face_desk_find(face, ev->border->desk);
+            if (pd)
+              {
+                 /* create it and add it */
+                 pw = _pager_window_new(pd, ev->border);
+                 if (pw)
+                   pd->wins = evas_list_append(pd->wins, pw);
+              }
+         }
+       else
+         {
+            /* go through all desks */
+            for (l = face->desks; l; l = l->next)
+              {
+                 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);
+              }
          }
      }
    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

Reply via email to