reparent window when border is deleted. It will disappear sometime.

SVN revision: 14757
This commit is contained in:
sebastid 2005-05-13 17:32:37 +00:00 committed by sebastid
parent 825a55bec4
commit e1909f8232
2 changed files with 7 additions and 13 deletions

View File

@ -1417,11 +1417,6 @@ _e_border_free(E_Border *bd)
bd->handlers = evas_list_remove_list(bd->handlers, bd->handlers);
ecore_event_handler_del(h);
}
if (!bd->already_unparented)
{
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);
}
if (bd->client.border.name) free(bd->client.border.name);
if (bd->client.icccm.title) free(bd->client.icccm.title);
if (bd->client.icccm.name) free(bd->client.icccm.name);
@ -1447,7 +1442,13 @@ static void
_e_border_del(E_Border *bd)
{
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);
ev = calloc(1, sizeof(E_Event_Border_Remove));
ev->border = bd;
/* FIXME Don't ref this during shutdown. And the event is pointless
@ -1507,12 +1508,6 @@ _e_border_cb_window_hide(void *data, int ev_type, void *ev)
else
{
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));
}
return 1;

View File

@ -189,7 +189,6 @@ struct _E_Border
unsigned char need_shape_merge : 1;
unsigned char need_shape_export : 1;
unsigned char fullscreen : 1;
unsigned char already_unparented : 1;
unsigned char changed : 1;