X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=caf6f5afcc97954c3ad6ce6a2ff783a0b5439822;hb=deb0aa720a4feda3b52c17e16ed7324c61dc331a;hp=7d24640c4e6d2bbb9c533a9e2ea5bc6effb26f0b;hpb=41aeb42af13774c11e5a23e51bf56fa053678b5a;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 7d24640c..caf6f5af 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -519,7 +519,6 @@ static void event_process(const XEvent *ec, gpointer data) window with RevertToParent focus */ frame_adjust_focus(client->frame, FALSE); /* focus_set_client(NULL) has already been called */ - client_calc_layer(client); } else if (e->xfocus.detail == NotifyPointerRoot || e->xfocus.detail == NotifyDetailNone || @@ -629,7 +628,6 @@ static void event_process(const XEvent *ec, gpointer data) frame_adjust_focus(client->frame, FALSE); /* focus_set_client(NULL) has already been called in this section or by focus_fallback */ - client_calc_layer(client); } } else if (client) @@ -703,7 +701,7 @@ static void event_process(const XEvent *ec, gpointer data) if (e->type == ButtonPress || e->type == ButtonRelease) { /* If the button press was on some non-root window, or was physically - on the root window, the process it */ + on the root window, then process it */ if (window != RootWindow(ob_display, ob_screen) || e->xbutton.subwindow == None) { @@ -1952,7 +1950,13 @@ static void event_ignore_enter_range(gulong start, gulong end) void event_end_ignore_all_enters(gulong start) { - event_ignore_enter_range(start, NextRequest(ob_display)); + /* Use (NextRequest-1) so that we ignore up to the current serial only. + Inside event_ignore_enter_range, we increment the serial by one, but if + we ignore that serial too, then any enter events generated by mouse + movement will be ignored until we create some further network traffic. + Instead ignore up to NextRequest-1, then when we increment the serial, + we will be *past* the range of ignored serials */ + event_ignore_enter_range(start, NextRequest(ob_display)-1); } static gboolean is_enter_focus_event_ignored(XEvent *e)