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

Reply via email to