From 8ede4b58e228f486ad5064952195360d2e53d8c9 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 12 May 2007 19:51:13 +0000 Subject: [PATCH] merge r6386-6388 from trunk --- openbox/event.c | 1 + openbox/menuframe.c | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/openbox/event.c b/openbox/event.c index 2ba9c4c7..eac312df 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -1645,6 +1645,7 @@ static gboolean event_handle_menu(XEvent *ev) { menu_frame_select(e->frame, NULL, FALSE); } + break; case MotionNotify: if ((e = menu_entry_frame_under(ev->xmotion.x_root, ev->xmotion.y_root))) diff --git a/openbox/menuframe.c b/openbox/menuframe.c index fad41614..367ed1c4 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -992,6 +992,7 @@ static gboolean menu_frame_show(ObMenuFrame *self) gboolean menu_frame_show_topmenu(ObMenuFrame *self, gint x, gint y, gint button) { + gint px, py; guint i; if (menu_frame_is_visible(self)) @@ -1017,14 +1018,20 @@ gboolean menu_frame_show_topmenu(ObMenuFrame *self, gint x, gint y, XMapWindow(ob_display, self->window); + if (screen_pointer_pos(&px, &py)) { + ObMenuEntryFrame *e = menu_entry_frame_under(px, py); + if (e && e->frame == self) + e->ignore_enters++; + } + return TRUE; } gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent, ObMenuEntryFrame *parent_entry) { - ObMenuEntryFrame *e; gint x, y, dx, dy; + gint px, py; if (menu_frame_is_visible(self)) return TRUE; @@ -1054,9 +1061,11 @@ gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent, XMapWindow(ob_display, self->window); - if (screen_pointer_pos(&dx, &dy) && (e = menu_entry_frame_under(dx, dy)) && - e->frame == self) - ++e->ignore_enters; + if (screen_pointer_pos(&px, &py)) { + ObMenuEntryFrame *e = menu_entry_frame_under(px, py); + if (e && e->frame == self) + e->ignore_enters++; + } return TRUE; } @@ -1146,7 +1155,7 @@ ObMenuEntryFrame* menu_entry_frame_under(gint x, gint y) ObMenuEntryFrame *e = it->data; if (RECT_CONTAINS(e->area, x, y)) { - ret = e; + ret = e; break; } } -- 2.34.1