Patch from David Stevenson to stop pager module causing E to segfault when setting...
authorChristopher Michael <cpmichael1@comcast.net>
Sat, 14 Jan 2006 12:30:46 +0000 (12:30 +0000)
committerChristopher Michael <cpmichael1@comcast.net>
Sat, 14 Jan 2006 12:30:46 +0000 (12:30 +0000)
SVN revision: 19776

src/modules/pager/e_mod_main.c

index 1bb9766..a1021d0 100644 (file)
@@ -1462,6 +1462,21 @@ _pager_cb_event_zone_desk_count_set(void *data, int type, void *event)
        else dh = 0;
        dh *= (desks_y - face->ynum);
 
+       /* Loop to add new desks */
+       for (x = 0; x < desks_x; x++)
+         {
+            for (y = 0; y < desks_y; y++)
+              {
+                 if ((x >= face->xnum) || (y >= face->ynum))
+                   {
+                      /* add desk */
+                      desk = e_desk_at_xy_get(ev->zone, x, y);
+                      pd = _pager_desk_new(face, desk, x, y);
+                      if (pd)
+                        face->desks = evas_list_append(face->desks, pd);
+                   }
+              }
+         }
        /* Loop to remove extra desks */
        for (l2 = face->desks; l2;)
          {
@@ -1480,21 +1495,6 @@ _pager_cb_event_zone_desk_count_set(void *data, int type, void *event)
                  _pager_desk_free(pd);
               }
          }
-       /* Loop to add new desks */
-       for (x = 0; x < desks_x; x++)
-         {
-            for (y = 0; y < desks_y; y++)
-              {
-                 if ((x >= face->xnum) || (y >= face->ynum))
-                   {
-                      /* add desk */
-                      desk = e_desk_at_xy_get(ev->zone, x, y);
-                      pd = _pager_desk_new(face, desk, x, y);
-                      if (pd)
-                        face->desks = evas_list_append(face->desks, pd);
-                   }
-              }
-         }
 
        face->xnum = desks_x;
        face->ynum = desks_y;