summaryrefslogtreecommitdiff
path: root/src/ui/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/menu.c')
-rw-r--r--src/ui/menu.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/ui/menu.c b/src/ui/menu.c
index aeba64fa..90db5f1e 100644
--- a/src/ui/menu.c
+++ b/src/ui/menu.c
@@ -100,6 +100,21 @@ static MenuItem menuitems[] = {
{META_MENU_OP_DELETE, MENU_ITEM_IMAGE, MARCO_STOCK_DELETE, FALSE, N_("_Close")}
};
+static void
+sn_menu_data_free (MenuData *menu_data,
+ GClosure *closure)
+{
+ g_free (menu_data->menu);
+ g_free (menu_data);
+}
+
+static void
+sn_menu_item_free (MenuItem *menu_item,
+ GClosure *closure)
+{
+ g_free (menu_item);
+}
+
static void popup_position_func(GtkMenu* menu, gint* x, gint* y, gboolean* push_in, gpointer user_data)
{
GtkRequisition req;
@@ -442,7 +457,7 @@ meta_window_menu_new (MetaFrames *frames,
"activate",
G_CALLBACK (activate_cb),
md,
- (GClosureNotify) g_free, 0);
+ (GClosureNotify) sn_menu_data_free, 0);
gtk_menu_shell_append (GTK_MENU_SHELL (submenu), submi);
@@ -469,7 +484,7 @@ meta_window_menu_new (MetaFrames *frames,
"activate",
G_CALLBACK (activate_cb),
md,
- (GClosureNotify) g_free, 0);
+ (GClosureNotify) sn_menu_item_free, 0);
}
if (mi)