Actually remove the window.

Wed Mar 22 13:16:48 2006  Søren Sandmann  <sandmann@redhat.com>

	* src/compositor.c (meta_compositor_remove_window): Actually
	remove the window.

	* src/c-screen.c (meta_screen_info_remove_window): Only remove
	node if non-NULL
This commit is contained in:
Søren Sandmann 2006-03-22 18:34:18 +00:00 committed by Søren Sandmann Pedersen
parent fd1e1c76e8
commit b11ac45352
3 changed files with 28 additions and 4 deletions

View File

@ -1,3 +1,11 @@
Wed Mar 22 13:16:48 2006 Søren Sandmann <sandmann@redhat.com>
* src/compositor.c (meta_compositor_remove_window): Actually
remove the window.
* src/c-screen.c (meta_screen_info_remove_window): Only remove
node if non-NULL
Wed Mar 22 10:33:21 2006 Søren Sandmann <sandmann@redhat.com> Wed Mar 22 10:33:21 2006 Søren Sandmann <sandmann@redhat.com>
* src/c-screen.c (meta_screen_info_redirect): Put a square below * src/c-screen.c (meta_screen_info_redirect): Put a square below

View File

@ -555,11 +555,16 @@ meta_screen_info_remove_window (MetaScreenInfo *info,
{ {
CmNode *node = find_node (info, xwindow); CmNode *node = find_node (info, xwindow);
#if 0
g_print ("removing %lx\n", xwindow); g_print ("removing %lx\n", xwindow);
#endif
g_hash_table_remove (info->window_infos_by_xid, (gpointer)xwindow); if (node)
{
g_hash_table_remove (info->window_infos_by_xid, (gpointer)xwindow);
cm_stacker_remove_child (info->stacker, node); cm_stacker_remove_child (info->stacker, node);
}
} }
void void

View File

@ -396,8 +396,16 @@ process_destroy (MetaCompositor *compositor,
screen = meta_display_screen_for_root (compositor->meta_display, screen = meta_display_screen_for_root (compositor->meta_display,
event->event); event->event);
#if 0
g_print ("destroywindow\n");
#endif
if (screen == NULL) if (screen == NULL)
{ {
#if 0
g_print ("ignoring\n");
#endif
meta_topic (META_DEBUG_COMPOSITOR, meta_topic (META_DEBUG_COMPOSITOR,
"DestroyNotify received on non-root 0x%lx for 0x%lx\n", "DestroyNotify received on non-root 0x%lx for 0x%lx\n",
event->event, event->window); event->event, event->window);
@ -687,6 +695,9 @@ meta_compositor_remove_window (MetaCompositor *compositor,
MetaScreenInfo *minfo; MetaScreenInfo *minfo;
minfo = meta_screen_info_get_by_xwindow (xwindow); minfo = meta_screen_info_get_by_xwindow (xwindow);
if (minfo)
meta_screen_info_remove_window (minfo, xwindow);
#endif /* HAVE_COMPOSITE_EXTENSIONS */ #endif /* HAVE_COMPOSITE_EXTENSIONS */
} }