diff --git a/openbox/menuframe.c b/openbox/menuframe.c index 811d4c05..34c7fd85 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -407,6 +407,7 @@ static void menu_frame_update(ObMenuFrame *self) { GList *mit, *fit; + menu_pipe_execute(self->menu); menu_find_submenus(self->menu); self->selected = NULL; @@ -480,8 +481,6 @@ void menu_frame_hide(ObMenuFrame *self) if (!it) return; - menu_frame_visible = g_list_delete_link(menu_frame_visible, it); - if (self->child) menu_frame_hide(self->child); @@ -495,6 +494,8 @@ void menu_frame_hide(ObMenuFrame *self) grab_keyboard(FALSE); } + menu_frame_visible = g_list_delete_link(menu_frame_visible, it); + XUnmapWindow(ob_display, self->window); menu_frame_free(self);