diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-29 10:05:18 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-29 10:05:18 +0000 |
| commit | c22a6b32ab23a4193863882e14fc6ff77ed3d247 (patch) | |
| tree | 26bbe253d05f01582ee5f356ee17296300a2fb31 | |
| parent | 9bac22eb402a477b802416287b9e76bf908408ed (diff) | |
only fallback when nothing is focused, provide comment explaining why
| -rw-r--r-- | openbox/screen.c | 8 |
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) |
