]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
don't take KeyRelease events for menus until they receive a KeyPress event first...
[chaz/openbox] / openbox / event.c
index d2cb7567c63fbb3027da80172265ff4e7641cfba..6b0ecdd7b04304ff88ec5bc6d4e6dbac46625656 100644 (file)
@@ -1671,6 +1671,8 @@ static gboolean event_handle_menu_keyboard(XEvent *ev)
 
     /* Allow control while going thru the menu */
     else if (ev->type == KeyPress && (state & ~ControlMask) == 0) {
+        frame->got_press = TRUE;
+
         if (keycode == ob_keycode(OB_KEY_ESCAPE)) {
             menu_frame_hide_all();
             ret = TRUE;
@@ -1704,7 +1706,7 @@ static gboolean event_handle_menu_keyboard(XEvent *ev)
 
        Allow ControlMask only, and don't bother if the menu is empty */
     else if (ev->type == KeyRelease && (state & ~ControlMask) == 0 &&
-             frame->entries)
+             frame->entries && frame->got_press)
     {
         if (keycode == ob_keycode(OB_KEY_RETURN)) {
             /* Enter runs the active item or goes into the submenu.
This page took 0.023494 seconds and 4 git commands to generate.