summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElijah Newren <newren@math.utah.edu>2004-09-15 16:42:52 +0000
committerElijah Newren <newren@src.gnome.org>2004-09-15 16:42:52 +0000
commit101a097f029f2c6e88106f7ff9d91f52cc9069f7 (patch)
tree5bef6ba5422941bb8a0b4c02c55300919998b871
parent5ac6fcad730679e8f3b6fc41b501ef8b53bb06a8 (diff)
downloadmetacity-101a097f029f2c6e88106f7ff9d91f52cc9069f7.tar.gz
Prevent focus inconsistencies by only providing one focus method (fixes
2004-09-15 Elijah Newren <newren@math.utah.edu> Prevent focus inconsistencies by only providing one focus method (fixes #151990) * src/screen.c (meta_screen_show_desktop): remove call to meta_workspace_focus_top_window (it was merely focusing a window that was going to be hidden anyway, and likely the one that already had focus) * src/workspace.[hc]: remove meta_workspace_focus_mru_window and meta_workspace_focus_top_window from workspace.h, make them static functions in workspace.c
-rw-r--r--ChangeLog9
-rw-r--r--src/screen.c2
-rw-r--r--src/workspace.c9
-rw-r--r--src/workspace.h4
4 files changed, 14 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 805cb9ca..0baf282c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,15 @@
2004-09-15 Elijah Newren <newren@math.utah.edu>
+ Prevent focus inconsistencies by only providing one focus method
+ (fixes #151990)
+
+ *
+
+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)
+ (partially fixes #152000)
* src/window.c (meta_window_free): Don't increment the focus
sentinel for windows being freed, (idle_calc_showing): don't
diff --git a/src/screen.c b/src/screen.c
index 1f19641f..695c335b 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2239,8 +2239,6 @@ meta_screen_show_desktop (MetaScreen *screen)
queue_windows_showing (screen);
update_showing_desktop_hint (screen);
-
- meta_workspace_focus_top_window (screen->active_workspace, NULL);
}
void
diff --git a/src/workspace.c b/src/workspace.c
index 04f374c8..912a41bd 100644
--- a/src/workspace.c
+++ b/src/workspace.c
@@ -27,9 +27,12 @@
#include <X11/Xatom.h>
#include <string.h>
-void meta_workspace_queue_calc_showing (MetaWorkspace *workspace);
-
-static void set_active_space_hint (MetaScreen *screen);
+void meta_workspace_queue_calc_showing (MetaWorkspace *workspace);
+static void set_active_space_hint (MetaScreen *screen);
+static void meta_workspace_focus_mru_window (MetaWorkspace *workspace,
+ MetaWindow *not_this_one);
+static void meta_workspace_focus_top_window (MetaWorkspace *workspace,
+ MetaWindow *not_this_one);
static void
maybe_add_to_list (MetaScreen *screen, MetaWindow *window, gpointer data)
diff --git a/src/workspace.h b/src/workspace.h
index 5a45c60c..4dc0df9d 100644
--- a/src/workspace.h
+++ b/src/workspace.h
@@ -77,12 +77,8 @@ void meta_workspace_get_work_area_for_xinerama (MetaWorkspace *workspace,
void meta_workspace_get_work_area_all_xineramas (MetaWorkspace *workspace,
MetaRectangle *area);
-void meta_workspace_focus_mru_window (MetaWorkspace *workspace,
- MetaWindow *not_this_one);
void meta_workspace_focus_default_window (MetaWorkspace *workspace,
MetaWindow *not_this_one);
-void meta_workspace_focus_top_window (MetaWorkspace *workspace,
- MetaWindow *not_this_one);
MetaWorkspace* meta_workspace_get_neighbor (MetaWorkspace *workspace,
MetaMotionDirection direction);