summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-29 10:05:18 +0000
committerDana Jansens <danakj@orodu.net>2003-09-29 10:05:18 +0000
commitc22a6b32ab23a4193863882e14fc6ff77ed3d247 (patch)
tree26bbe253d05f01582ee5f356ee17296300a2fb31
parent9bac22eb402a477b802416287b9e76bf908408ed (diff)
only fallback when nothing is focused, provide comment explaining why
-rw-r--r--openbox/screen.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/openbox/screen.c b/openbox/screen.c
index a8f3b71c..9c4620b2 100644
--- a/openbox/screen.c
+++ b/openbox/screen.c
@@ -457,7 +457,13 @@ void screen_set_desktop(guint num)
event_ignore_queued_enters();
- focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
+ /*!
+ When this focus_client check is not used, you can end up with races, as
+ demonstrated with gnome-panel, sometmies the window you click on on
+ another desktop ends up losing focus cuz of the fallback.
+ */
+ if (!focus_client)
+ focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
}
static void get_row_col(guint d, guint *r, guint *c)