forked from enlightenment/enlightenment
Finally, border_add getting fired at the right time
SVN revision: 12979
This commit is contained in:
parent
877fae8945
commit
c34cfdf821
|
@ -153,7 +153,6 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
{
|
{
|
||||||
E_Border *bd;
|
E_Border *bd;
|
||||||
Ecore_X_Window_Attributes *att;
|
Ecore_X_Window_Attributes *att;
|
||||||
E_Event_Border_Add *ev;
|
|
||||||
|
|
||||||
bd = E_OBJECT_ALLOC(E_Border, _e_border_free);
|
bd = E_OBJECT_ALLOC(E_Border, _e_border_free);
|
||||||
if (!bd) return NULL;
|
if (!bd) return NULL;
|
||||||
|
@ -280,12 +279,6 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
con->clients = evas_list_append(con->clients, bd);
|
con->clients = evas_list_append(con->clients, bd);
|
||||||
borders = evas_list_append(borders, bd);
|
borders = evas_list_append(borders, bd);
|
||||||
|
|
||||||
ev = calloc(1, sizeof(E_Event_Border_Add));
|
|
||||||
ev->border = bd;
|
|
||||||
/* SUSPICION: does the unref for this actually sometimes not get */
|
|
||||||
/* called? coudl this be the dangling borders issue? */
|
|
||||||
e_object_ref(E_OBJECT(bd));
|
|
||||||
ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, NULL);
|
|
||||||
return bd;
|
return bd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2162,6 +2155,8 @@ _e_border_eval(E_Border *bd)
|
||||||
|
|
||||||
if (bd->new_client)
|
if (bd->new_client)
|
||||||
{
|
{
|
||||||
|
E_Event_Border_Add *ev;
|
||||||
|
|
||||||
bd->new_client = 0;
|
bd->new_client = 0;
|
||||||
printf("##- NEW CLIENT SETUP 0x%x\n", bd->client.win);
|
printf("##- NEW CLIENT SETUP 0x%x\n", bd->client.win);
|
||||||
if (bd->re_manage)
|
if (bd->re_manage)
|
||||||
|
@ -2271,6 +2266,13 @@ _e_border_eval(E_Border *bd)
|
||||||
bd->y + bd->client_inset.t,
|
bd->y + bd->client_inset.t,
|
||||||
bd->client.w,
|
bd->client.w,
|
||||||
bd->client.h);
|
bd->client.h);
|
||||||
|
|
||||||
|
ev = calloc(1, sizeof(E_Event_Border_Add));
|
||||||
|
ev->border = bd;
|
||||||
|
/* SUSPICION: does the unref for this actually sometimes not get */
|
||||||
|
/* called? coudl this be the dangling borders issue? */
|
||||||
|
e_object_ref(E_OBJECT(bd));
|
||||||
|
ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* effect changes to the window border itself */
|
/* effect changes to the window border itself */
|
||||||
|
|
Loading…
Reference in New Issue