mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05:00
move meta_window_shutdown_group() much earlier in the destroy process. May
2002-10-27 Havoc Pennington <hp@pobox.com> * src/window.c (meta_window_free): move meta_window_shutdown_group() much earlier in the destroy process. May fix #96928 tracked down by Kjartan Maraas and Martin Garton. * src/group.c (meta_window_get_group): never add window to a group after we've started unmanaging the window
This commit is contained in:
parent
04c9c3e058
commit
81089c2d8c
@ -1,3 +1,12 @@
|
|||||||
|
2002-10-27 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
|
* src/window.c (meta_window_free): move
|
||||||
|
meta_window_shutdown_group() much earlier in the destroy process.
|
||||||
|
May fix #96928 tracked down by Kjartan Maraas and Martin Garton.
|
||||||
|
|
||||||
|
* src/group.c (meta_window_get_group): never add window to a group
|
||||||
|
after we've started unmanaging the window
|
||||||
|
|
||||||
2002-10-26 Havoc Pennington <hp@pobox.com>
|
2002-10-26 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* src/iconcache.c: include config.h
|
* src/iconcache.c: include config.h
|
||||||
|
@ -85,6 +85,9 @@ meta_group_unref (MetaGroup *group)
|
|||||||
MetaGroup*
|
MetaGroup*
|
||||||
meta_window_get_group (MetaWindow *window)
|
meta_window_get_group (MetaWindow *window)
|
||||||
{
|
{
|
||||||
|
if (window->unmanaging)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
if (window->cached_group == NULL &&
|
if (window->cached_group == NULL &&
|
||||||
window->xgroup_leader != None) /* some windows have no group */
|
window->xgroup_leader != None) /* some windows have no group */
|
||||||
{
|
{
|
||||||
|
@ -840,7 +840,12 @@ meta_window_free (MetaWindow *window)
|
|||||||
meta_group_update_layers (group);
|
meta_group_update_layers (group);
|
||||||
meta_stack_thaw (window->screen->stack);
|
meta_stack_thaw (window->screen->stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
meta_window_shutdown_group (window); /* safe to do this early as
|
||||||
|
* group.c won't re-add to the
|
||||||
|
* group if window->unmanaging
|
||||||
|
*/
|
||||||
|
|
||||||
/* If we have the focus, focus some other window.
|
/* If we have the focus, focus some other window.
|
||||||
* This is done first, so that if the unmap causes
|
* This is done first, so that if the unmap causes
|
||||||
* an EnterNotify the EnterNotify will have final say
|
* an EnterNotify the EnterNotify will have final say
|
||||||
@ -985,8 +990,6 @@ meta_window_free (MetaWindow *window)
|
|||||||
g_object_unref (G_OBJECT (window->mini_icon));
|
g_object_unref (G_OBJECT (window->mini_icon));
|
||||||
|
|
||||||
meta_icon_cache_free (&window->icon_cache);
|
meta_icon_cache_free (&window->icon_cache);
|
||||||
|
|
||||||
meta_window_shutdown_group (window);
|
|
||||||
|
|
||||||
g_free (window->sm_client_id);
|
g_free (window->sm_client_id);
|
||||||
g_free (window->wm_client_machine);
|
g_free (window->wm_client_machine);
|
||||||
|
Loading…
Reference in New Issue
Block a user