summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2009-12-16 10:43:22 -0500
committerDana Jansens <danakj@orodu.net>2009-12-16 15:37:26 -0500
commit811e3ddbc30d90283b532360ee8c39251fa54de8 (patch)
tree99fcab69a72ee55012a1cb19ecaa4a6fa15d6943
parent7c4753ac91796ab7677b55b79467c743ff7b5517 (diff)
Ignore enter events caused by closing openbox menus
-rw-r--r--openbox/menuframe.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/openbox/menuframe.c b/openbox/menuframe.c
index ad692d2e..3d2bf829 100644
--- a/openbox/menuframe.c
+++ b/openbox/menuframe.c
@@ -23,6 +23,7 @@
#include "screen.h"
#include "prop.h"
#include "actions.h"
+#include "event.h"
#include "grab.h"
#include "openbox.h"
#include "mainloop.h"
@@ -949,7 +950,6 @@ gboolean menu_frame_show_topmenu(ObMenuFrame *self, gint x, gint y,
gboolean mouse)
{
gint px, py;
- guint i;
if (menu_frame_is_visible(self))
return TRUE;
@@ -1021,6 +1021,7 @@ gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent,
static void menu_frame_hide(ObMenuFrame *self)
{
GList *it = g_list_find(menu_frame_visible, self);
+ gulong ignore_start;
if (!it)
return;
@@ -1046,7 +1047,9 @@ static void menu_frame_hide(ObMenuFrame *self)
ungrab_keyboard();
}
+ ignore_start = event_start_ignore_all_enters();
XUnmapWindow(ob_display, self->window);
+ event_end_ignore_all_enters(ignore_start);
menu_frame_free(self);
}