diff options
author | Elijah Newren <newren@math.utah.edu> | 2004-09-15 15:54:51 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2004-09-15 15:54:51 +0000 |
commit | 5ac6fcad730679e8f3b6fc41b501ef8b53bb06a8 (patch) | |
tree | 485caa4963cddeebf36991f0b4298239e5601d40 | |
parent | a880f5d401335e51249be5453eaf538f9c681adf (diff) | |
download | metacity-5ac6fcad730679e8f3b6fc41b501ef8b53bb06a8.tar.gz |
Remove race condition for focus window choice on window close followed by
2004-09-15 Elijah Newren <newren@math.utah.edu>
Remove race condition for focus window choice on window close
followed by rapid mouse movement in sloppy and mouse focus modes
(fixes #152000)
* src/window.c (meta_window_free): Don't increment the focus
sentinel for windows being freed, (idle_calc_showing): don't
increment the focus sentinel for windows being minimized
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | src/window.c | 25 |
2 files changed, 11 insertions, 24 deletions
@@ -1,5 +1,15 @@ 2004-09-15 Elijah Newren <newren@math.utah.edu> + Remove race condition for focus window choice on window close + followed by rapid mouse movement in sloppy and mouse focus modes + (fixes #152000) + + * src/window.c (meta_window_free): Don't increment the focus + sentinel for windows being freed, (idle_calc_showing): don't + increment the focus sentinel for windows being minimized + +2004-09-15 Elijah Newren <newren@math.utah.edu> + Fix unwanted loss of focus to the mouse window when using keynav (fixes #101190) diff --git a/src/window.c b/src/window.c index ab9cfff5..a3a707ed 100644 --- a/src/window.c +++ b/src/window.c @@ -1085,13 +1085,7 @@ meta_window_free (MetaWindow *window) g_object_unref (G_OBJECT (window->mini_icon)); meta_icon_cache_free (&window->icon_cache); - - /* Avoid a race condition between the focusing of the mru window and the - * mouse entering the window beneath the one closed in sloppy/mouse focus - * modes. - */ - meta_display_increment_focus_sentinel (window->display); - + g_free (window->sm_client_id); g_free (window->wm_client_machine); g_free (window->startup_id); @@ -1511,23 +1505,6 @@ idle_calc_showing (gpointer data) tmp = tmp->next; } - /* There's also a potential race condition on window minimize. - * So we need to avoid that to, in the same manner. As with the - * case above, this race condition is only for sloppy/mouse focus. - */ - tmp = should_hide; - while (tmp != NULL) - { - MetaWindow *window = tmp->data; - - if (g_slist_find (displays, window->display) == NULL) - { - displays = g_slist_prepend (displays, window->display); - meta_display_increment_focus_sentinel (window->display); - } - - tmp = tmp->next; - } g_slist_free (copy); |