X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fclient_list_menu.c;h=036c2408bf764fc9106aae6cf4885a426035fdc9;hb=31d7680274cdf2fa3c45b8c8d56db2b5d8fbc111;hp=86a70af45c6f40dc9bb94b25e8f0567c70f2300e;hpb=e5d6a552a46bce27cbe25c92023094b44c9a8284;p=chaz%2Fopenbox diff --git a/openbox/client_list_menu.c b/openbox/client_list_menu.c index 86a70af4..036c2408 100644 --- a/openbox/client_list_menu.c +++ b/openbox/client_list_menu.c @@ -38,7 +38,7 @@ typedef struct guint desktop; } DesktopData; -static void desk_menu_update(ObMenuFrame *frame, gpointer data) +static gboolean desk_menu_update(ObMenuFrame *frame, gpointer data) { ObMenu *menu = frame->menu; DesktopData *d = data; @@ -105,6 +105,7 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data) if (d->desktop == screen_desktop) e->data.normal.enabled = FALSE; } + return TRUE; /* always show */ } /* executes it using the client in the actions, since we set that @@ -129,7 +130,7 @@ static void desk_menu_destroy(ObMenu *menu, gpointer data) desktop_menus = g_slist_remove(desktop_menus, menu); } -static void self_update(ObMenuFrame *frame, gpointer data) +static gboolean self_update(ObMenuFrame *frame, gpointer data) { ObMenu *menu = frame->menu; guint i; @@ -158,10 +159,12 @@ static void self_update(ObMenuFrame *frame, gpointer data) } for (; it; it = next, ++i) { next = g_slist_next(it); - menu_free(it->data); + menu_unref(it->data); desktop_menus = g_slist_delete_link(desktop_menus, it); menu_entry_remove(menu_find_entry_id(menu, i)); } + + return TRUE; /* always show */ } static void client_dest(ObClient *client, gpointer data)