X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenuframe.c;h=91e7c53ef58397bcd5a2720146842fcafe41e7e9;hb=3fd74abb3c2969f170d727154245cde3ef8a4b87;hp=85f09519f3a8f91ce9c2c789263323cf66a271f2;hpb=d179d6428ae585a3b8a13479bfe4586e41de2ff9;p=chaz%2Fopenbox diff --git a/openbox/menuframe.c b/openbox/menuframe.c index 85f09519..91e7c53e 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -321,7 +321,7 @@ static void menu_frame_place_submenu(ObMenuFrame *self, gint *x, gint *y) void menu_frame_move_on_screen(ObMenuFrame *self, gint x, gint y, gint *dx, gint *dy) { - Rect const *a = NULL; + const Rect *a = NULL; gint pos, half; *dx = *dy = 0; @@ -831,7 +831,7 @@ void menu_frame_render(ObMenuFrame *self) static void menu_frame_update(ObMenuFrame *self) { GList *mit, *fit; - Rect const *a; + const Rect *a; gint h; menu_pipe_execute(self->menu); @@ -1061,14 +1061,15 @@ gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent, static void menu_frame_hide(ObMenuFrame *self) { + ObMenu *const menu = self->menu; GList *it = g_list_find(menu_frame_visible, self); gulong ignore_start; if (!it) return; - if (self->menu->hide_func) - self->menu->hide_func(self, self->menu->data); + if (menu->hide_func) + menu->hide_func(self, menu->data); if (self->child) menu_frame_hide(self->child); @@ -1095,6 +1096,9 @@ static void menu_frame_hide(ObMenuFrame *self) event_end_ignore_all_enters(ignore_start); menu_frame_free(self); + + if (menu->cleanup_func) + menu->cleanup_func(menu, menu->data); } void menu_frame_hide_all(void)