diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-05-28 03:31:06 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-05-28 03:31:06 +0000 |
| commit | f8aab34e529c23b44f1a4949d143a4a2ea416512 (patch) | |
| tree | 259ecb8352622029ffdbd6827ece343c24dee9a5 /openbox | |
| parent | 6a2010199bf5204a66698361fd2b759e2c147a9f (diff) | |
dont make motions in menus outside of the active menu, its child, and its parent, do anything
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/event.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/openbox/event.c b/openbox/event.c index 5590221f..1b387bdf 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -1692,7 +1692,10 @@ static gboolean event_handle_menu(XEvent *ev) if ((e = g_hash_table_lookup(menu_frame_map, &ev->xcrossing.window))) { if (e->ignore_enters) --e->ignore_enters; - else + else if (!(f = find_active_menu()) || + f == e->frame || + f->parent == e->frame || + f->child == e->frame) menu_frame_select(e->frame, e, FALSE); } break; @@ -1711,7 +1714,11 @@ static gboolean event_handle_menu(XEvent *ev) case MotionNotify: if ((e = menu_entry_frame_under(ev->xmotion.x_root, ev->xmotion.y_root))) - menu_frame_select(e->frame, e, FALSE); + if (!(f = find_active_menu()) || + f == e->frame || + f->parent == e->frame || + f->child == e->frame) + menu_frame_select(e->frame, e, FALSE); break; case KeyPress: ret = event_handle_menu_keyboard(ev); |
