X-Git-Url: http://git.openbox.org/?p=mikachu%2Fopenbox.git;a=blobdiff_plain;f=openbox%2Fmenuframe.c;h=3d2bf829c00e0586668456c1adb92c39856f8869;hp=8177f5131c36c1eb1f8bd185ed7660ef0f3449e8;hb=15802d87b18b8a7a741c2e8d80ab6e5f79ada13e;hpb=775f60852a82930e870102a3b3b5a073c3ad6401;ds=sidebyside diff --git a/openbox/menuframe.c b/openbox/menuframe.c index 8177f51..3d2bf82 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -1161,8 +1161,6 @@ void menu_frame_select(ObMenuFrame *self, ObMenuEntryFrame *entry, } if (!entry && self->open_submenu) { - /* we moved out of the menu, so move the selection back to the open - submenu */ entry = self->open_submenu; oldchild = NULL; @@ -1180,16 +1178,12 @@ void menu_frame_select(ObMenuFrame *self, ObMenuEntryFrame *entry, /* there is an open submenu */ if (config_submenu_show_delay && !immediate) { - if (entry == self->open_submenu) { - /* we moved onto the entry that has an open submenu, so stop - trying to close the submenu */ + if (old == self->open_submenu) { + /* close the open submenu after a delay if we don't have + it selected */ ob_main_loop_timeout_remove (ob_main_loop, menu_entry_frame_submenu_hide_timeout); - } - else if (old == self->open_submenu) { - /* we just moved off the entry with an open submenu, so - close the open submenu after a delay */ ob_main_loop_timeout_add(ob_main_loop, config_submenu_show_delay * 1000, menu_entry_frame_submenu_hide_timeout, @@ -1204,7 +1198,7 @@ void menu_frame_select(ObMenuFrame *self, ObMenuEntryFrame *entry, if (self->selected) { menu_entry_frame_render(self->selected); - /* if we've selected a submenu and it wasn't already open, then + /* if we've selected a submenu and it wasn't always open, then show it */ if (self->selected->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU && self->selected != self->open_submenu)