Hi!
This should correct the problem with borders moving from one desk to another.
Sebastian
Index: e_zone.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v
retrieving revision 1.21
diff -u -r1.21 e_zone.c
--- e_zone.c 22 Jan 2005 06:58:34 -0000 1.21
+++ e_zone.c 7 Feb 2005 11:02:04 -0000
@@ -36,14 +36,13 @@
E_Zone *
e_zone_new(E_Container *con, int x, int y, int w, int h)
{
- E_Zone *zone;
- int i;
+ E_Zone *zone;
+ char name[40];
zone = E_OBJECT_ALLOC(E_Zone, E_ZONE_TYPE, _e_zone_free);
if (!zone) return NULL;
zone->container = con;
- zone->name = NULL;
zone->x = x;
zone->y = y;
@@ -51,6 +50,9 @@
zone->h = h;
zone->num = ++zone_count;
+ snprintf(name, sizeof(name), "Zone %d", zone->num);
+ zone->name = strdup(name);
+
con->zones = evas_list_append(con->zones, zone);
if (1)
@@ -312,6 +314,7 @@
Evas_List *client;
E_Border *bd;
E_Event_Zone_Desk_Count_Set *ev;
+ E_Event_Border_Desk_Set *evb;
xx = x_count;
if (xx < 1)
@@ -349,7 +352,7 @@
bd = (E_Border *) client->data;
new_desk->clients = evas_list_append(new_desk->clients, bd);
- bd->desk = new_desk;
+ e_border_desk_set(bd, new_desk);
client = client->next;
}
evas_list_free(desk->clients);
@@ -371,7 +374,7 @@
bd = (E_Border *) client->data;
new_desk->clients = evas_list_append(new_desk->clients, bd);
- bd->desk = new_desk;
+ e_border_desk_set(bd, new_desk);
client = client->next;
}
evas_list_free(desk->clients);
