X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=8f21120248af2e5d6ee7f8eb0e5e7208990cbd2d;hb=2c4fef29957ecfdfab8bda68d8d3fdf5a2a21324;hp=5175cbfb70479ce899d511a1b2d9d0579afa95bc;hpb=9752670920352bdd721d9958370edc569481d9e6;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 5175cbfb..8f211202 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -38,6 +38,7 @@ #include "mainloop.h" #include "framerender.h" #include "focus.h" +#include "focus_cycle.h" #include "moveresize.h" #include "group.h" #include "stacking.h" @@ -1273,8 +1274,8 @@ static void event_handle_client(ObClient *client, XEvent *e) } else { ObClient *sibling = NULL; if (e->xclient.data.l[1]) { - ObWindow *win = g_hash_table_lookup(window_map, - &e->xclient.data.l[1]); + ObWindow *win = g_hash_table_lookup + (window_map, &e->xclient.data.l[1]); if (WINDOW_IS_CLIENT(win) && WINDOW_AS_CLIENT(win) != client) { @@ -1606,6 +1607,10 @@ static gboolean event_handle_menu(XEvent *ev) } break; case LeaveNotify: + /*ignore leaves when we're already in the window */ + if (ev->xcrossing.detail == NotifyInferior) + break; + if ((e = g_hash_table_lookup(menu_frame_map, &ev->xcrossing.window)) && (f = find_active_menu()) && f->selected == e && e->entry->type != OB_MENU_ENTRY_TYPE_SUBMENU)