return ret;
}
+static void layout_image_popup_menu_destroy_cb(GtkWidget *widget, gpointer data)
+{
+ LayoutWindow *lw = data;
+
+ filelist_free(lw->editmenu_fd_list);
+ lw->editmenu_fd_list = NULL;
+}
+
+static GList *layout_image_get_fd_list(LayoutWindow *lw)
+{
+ GList *list = NULL;
+ FileData *fd = layout_image_get_fd(lw);
+
+ if (fd)
+ list = g_list_append(NULL, file_data_ref(fd));
+
+ return list;
+}
+
static GtkWidget *layout_image_pop_menu(LayoutWindow *lw)
{
GtkWidget *menu;
fullscreen = layout_image_full_screen_active(lw);
menu = popup_menu_short_lived();
+ g_signal_connect(G_OBJECT(menu), "destroy",
+ G_CALLBACK(layout_image_popup_menu_destroy_cb), lw);
menu_item_add_stock(menu, _("Zoom _in"), GTK_STOCK_ZOOM_IN, G_CALLBACK(li_pop_menu_zoom_in_cb), lw);
menu_item_add_stock(menu, _("Zoom _out"), GTK_STOCK_ZOOM_OUT, G_CALLBACK(li_pop_menu_zoom_out_cb), lw);
menu_item_add_stock(menu, _("Fit image to _window"), GTK_STOCK_ZOOM_FIT, G_CALLBACK(li_pop_menu_zoom_fit_cb), lw);
menu_item_add_divider(menu);
- submenu = submenu_add_edit(menu, &item, G_CALLBACK(li_pop_menu_edit_cb), lw);
+ lw->editmenu_fd_list = layout_image_get_fd_list(lw);
+ submenu = submenu_add_edit(menu, &item, G_CALLBACK(li_pop_menu_edit_cb), lw, lw->editmenu_fd_list);
if (!path) gtk_widget_set_sensitive(item, FALSE);
menu_item_add_divider(submenu);
menu_item_add(submenu, _("Set as _wallpaper"), G_CALLBACK(li_pop_menu_wallpaper_cb), lw);