summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-04-22 19:35:50 +0000
committerDana Jansens <danakj@orodu.net>2007-04-22 19:35:50 +0000
commit911ad76372394715f7eae88c96eeb6d06396f3be (patch)
tree2e9decf23fe4658d9a4557f956e6aea2bbc7798c
parent55b5b828e9b52ea755cae4b3892c6d27cc59e82c (diff)
a) set the focus client before calculating its layer
b) cleanup in focus.c
-rw-r--r--openbox/event.c2
-rw-r--r--openbox/focus.c6
2 files changed, 2 insertions, 6 deletions
diff --git a/openbox/event.c b/openbox/event.c
index c8356be1..f276a079 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -471,8 +471,8 @@ static void event_process(const XEvent *ec, gpointer data)
focus_fallback(TRUE);
} else if (client && client != focus_client) {
frame_adjust_focus(client->frame, TRUE);
- client_calc_layer(client);
focus_set_client(client);
+ client_calc_layer(client);
}
} else if (e->type == FocusOut) {
gboolean nomove = FALSE;
diff --git a/openbox/focus.c b/openbox/focus.c
index 7a686800..afedd000 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -259,10 +259,6 @@ ObClient* focus_fallback_target(gboolean allow_refocus, ObClient *old)
void focus_fallback(gboolean allow_refocus)
{
ObClient *new;
- ObClient *old;
-
- /* save this before moving focus away to nothing */
- old = focus_client;
/* unfocus any focused clients.. they can be focused by Pointer events
and such, and then when I try focus them, I won't get a FocusIn event
@@ -270,7 +266,7 @@ void focus_fallback(gboolean allow_refocus)
*/
focus_nothing();
- if ((new = focus_fallback_target(allow_refocus, old)))
+ if ((new = focus_fallback_target(allow_refocus, focus_client)))
client_focus(new);
}