forked from enlightenment/enlightenment
Reparent border on deletion. The reparent must also be in _e_border_free,
because e_container calls free directly on shutdown. SVN revision: 14768
This commit is contained in:
parent
a2f8eaa990
commit
f3fdca634e
|
@ -1451,6 +1451,13 @@ _e_border_del(E_Border *bd)
|
||||||
{
|
{
|
||||||
E_Event_Border_Remove *ev;
|
E_Event_Border_Remove *ev;
|
||||||
|
|
||||||
|
ecore_x_window_reparent(bd->client.win,
|
||||||
|
bd->zone->container->manager->root,
|
||||||
|
bd->x + bd->client_inset.l,
|
||||||
|
bd->y + bd->client_inset.t);
|
||||||
|
ecore_x_window_save_set_del(bd->client.win);
|
||||||
|
bd->already_unparented = 1;
|
||||||
|
|
||||||
ev = calloc(1, sizeof(E_Event_Border_Remove));
|
ev = calloc(1, sizeof(E_Event_Border_Remove));
|
||||||
ev->border = bd;
|
ev->border = bd;
|
||||||
/* FIXME Don't ref this during shutdown. And the event is pointless
|
/* FIXME Don't ref this during shutdown. And the event is pointless
|
||||||
|
@ -1510,12 +1517,6 @@ _e_border_cb_window_hide(void *data, int ev_type, void *ev)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
e_border_hide(bd, 0);
|
e_border_hide(bd, 0);
|
||||||
ecore_x_window_reparent(bd->client.win,
|
|
||||||
bd->zone->container->manager->root,
|
|
||||||
bd->x + bd->client_inset.l,
|
|
||||||
bd->y + bd->client_inset.t);
|
|
||||||
ecore_x_window_save_set_del(bd->client.win);
|
|
||||||
bd->already_unparented = 1;
|
|
||||||
e_object_del(E_OBJECT(bd));
|
e_object_del(E_OBJECT(bd));
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in New Issue