X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenuframe.c;h=a2760aa17881ec8f6c2cf6d1b74043c728748543;hb=f806e7f24ea793ccc1462979ea031289aed2fe8f;hp=768176abcb218cae14fa026f4cce42675b3e197f;hpb=5945d2e9c851a03d58ab364fe93136cbe5079c2b;p=chaz%2Fopenbox diff --git a/openbox/menuframe.c b/openbox/menuframe.c index 768176ab..a2760aa1 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -43,7 +43,6 @@ GList *menu_frame_visible; static ObMenuEntryFrame* menu_entry_frame_new(ObMenuEntry *entry, ObMenuFrame *frame); static void menu_entry_frame_free(ObMenuEntryFrame *self); -static void menu_frame_render(ObMenuFrame *self); static void menu_frame_update(ObMenuFrame *self); static gboolean menu_entry_frame_submenu_timeout(gpointer data); @@ -616,7 +615,7 @@ static gint menu_entry_frame_get_height(ObMenuEntryFrame *self, return h; } -static void menu_frame_render(ObMenuFrame *self) +void menu_frame_render(ObMenuFrame *self) { gint w = 0, h = 0; gint tw, th; /* temps */ @@ -1170,13 +1169,16 @@ void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state, Time time) gpointer data = self->frame->menu->data; GSList *acts = self->entry->data.normal.actions; ObClient *client = self->frame->client; + ObMenuFrame *frame = self->frame; /* release grabs before executing the shit */ - if (!(state & ControlMask)) + if (!(state & ControlMask)) { menu_frame_hide_all(); + frame = NULL; + } if (func) - func(entry, state, data, time); + func(entry, frame, client, state, data, time); else action_run(acts, client, state, time); }