From: Arkadiy Illarionov Date: Mon, 26 May 2025 20:24:56 +0000 (+0300) Subject: Use file_data_list_free() in g_signal_connect_swapped X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13b47c049a901d4557b4104b9b22b880ef68905c;p=geeqie.git Use file_data_list_free() in g_signal_connect_swapped --- diff --git a/src/dupe.cc b/src/dupe.cc index c60de4aee..2b4cbbd7a 100644 --- a/src/dupe.cc +++ b/src/dupe.cc @@ -3334,13 +3334,6 @@ static void dupe_menu_close_cb(GtkWidget *, gpointer data) dupe_window_close(dw); } -static void dupe_menu_popup_destroy_cb(GtkWidget *, gpointer data) -{ - auto editmenu_fd_list = static_cast(data); - - file_data_list_free(editmenu_fd_list); -} - static GList *dupe_window_get_fd_list(DupeWindow *dw) { GList *list; @@ -3410,8 +3403,8 @@ static GtkWidget *dupe_menu_popup_main(DupeWindow *dw, DupeItem *di) menu_item_add_divider(menu); editmenu_fd_list = dupe_window_get_fd_list(dw); - g_signal_connect(G_OBJECT(menu), "destroy", - G_CALLBACK(dupe_menu_popup_destroy_cb), editmenu_fd_list); + g_signal_connect_swapped(G_OBJECT(menu), "destroy", + G_CALLBACK(file_data_list_free), editmenu_fd_list); submenu_add_edit(menu, &item, G_CALLBACK(dupe_menu_edit_cb), dw, editmenu_fd_list); if (!on_row) gtk_widget_set_sensitive(item, FALSE); diff --git a/src/img-view.cc b/src/img-view.cc index 870916b50..5f57c5ac2 100644 --- a/src/img-view.cc +++ b/src/img-view.cc @@ -1317,13 +1317,6 @@ static void view_set_layout_path_cb(GtkWidget *, gpointer data) view_window_close(vw); } -static void view_popup_menu_destroy_cb(GtkWidget *, gpointer data) -{ - auto editmenu_fd_list = static_cast(data); - - file_data_list_free(editmenu_fd_list); -} - static GList *view_window_get_fd_list(ViewWindow *vw) { GList *list = nullptr; @@ -1381,8 +1374,8 @@ static GtkWidget *view_popup_menu(ViewWindow *vw) menu_item_add_divider(menu); editmenu_fd_list = view_window_get_fd_list(vw); - g_signal_connect(G_OBJECT(menu), "destroy", - G_CALLBACK(view_popup_menu_destroy_cb), editmenu_fd_list); + g_signal_connect_swapped(G_OBJECT(menu), "destroy", + G_CALLBACK(file_data_list_free), editmenu_fd_list); item = submenu_add_edit(menu, nullptr, G_CALLBACK(view_edit_cb), vw, editmenu_fd_list); menu_item_add_divider(item); diff --git a/src/layout-image.cc b/src/layout-image.cc index dd7cbab09..bd7bd443f 100644 --- a/src/layout-image.cc +++ b/src/layout-image.cc @@ -731,13 +731,6 @@ static gboolean li_check_if_current_path(LayoutWindow *lw, const gchar *path) return strcmp(lw->dir_fd->path, dirname) == 0; } -static void layout_image_popup_menu_destroy_cb(GtkWidget *, gpointer data) -{ - auto editmenu_fd_list = static_cast(data); - - file_data_list_free(editmenu_fd_list); -} - static GList *layout_image_get_fd_list(LayoutWindow *lw) { GList *list = nullptr; @@ -803,8 +796,8 @@ static GtkWidget *layout_image_pop_menu(LayoutWindow *lw) menu_item_add_divider(menu); editmenu_fd_list = layout_image_get_fd_list(lw); - g_signal_connect(G_OBJECT(menu), "destroy", - G_CALLBACK(layout_image_popup_menu_destroy_cb), editmenu_fd_list); + g_signal_connect_swapped(G_OBJECT(menu), "destroy", + G_CALLBACK(file_data_list_free), editmenu_fd_list); submenu = submenu_add_edit(menu, &item, G_CALLBACK(li_pop_menu_edit_cb), lw, editmenu_fd_list); if (!path) gtk_widget_set_sensitive(item, FALSE); menu_item_add_divider(submenu); diff --git a/src/pan-view/pan-view.cc b/src/pan-view/pan-view.cc index 9c97b0afa..e5e1f0a40 100644 --- a/src/pan-view/pan-view.cc +++ b/src/pan-view/pan-view.cc @@ -2275,13 +2275,6 @@ static void pan_close_cb(GtkWidget *, gpointer data) pan_window_close(pw); } -static void pan_popup_menu_destroy_cb(GtkWidget *, gpointer data) -{ - auto editmenu_fd_list = static_cast(data); - - file_data_list_free(editmenu_fd_list); -} - static void pan_play_cb(GtkWidget *, gpointer data) { auto pw = static_cast(data); @@ -2347,8 +2340,8 @@ static GtkWidget *pan_popup_menu(PanWindow *pw) menu_item_add_divider(menu); editmenu_fd_list = pan_view_get_fd_list(pw); - g_signal_connect(G_OBJECT(menu), "destroy", - G_CALLBACK(pan_popup_menu_destroy_cb), editmenu_fd_list); + g_signal_connect_swapped(G_OBJECT(menu), "destroy", + G_CALLBACK(file_data_list_free), editmenu_fd_list); submenu_add_edit(menu, &item, G_CALLBACK(pan_edit_cb), pw, editmenu_fd_list); gtk_widget_set_sensitive(item, active); diff --git a/src/search.cc b/src/search.cc index 3e4707ba1..fb11202a2 100644 --- a/src/search.cc +++ b/src/search.cc @@ -1166,13 +1166,6 @@ static void sr_menu_play_cb(GtkWidget *, gpointer data) start_editor_from_file(options->image_l_click_video_editor, sd->click_fd); } -static void search_result_menu_destroy_cb(GtkWidget *, gpointer data) -{ - auto editmenu_fd_list = static_cast(data); - - file_data_list_free(editmenu_fd_list); -} - /** * @brief Add file selection list to a collection * @param[in] widget @@ -1219,8 +1212,8 @@ static GtkWidget *search_result_menu(SearchData *sd, gboolean on_row, gboolean e menu_item_add_divider(menu); editmenu_fd_list = search_result_selection_list(sd); - g_signal_connect(G_OBJECT(menu), "destroy", - G_CALLBACK(search_result_menu_destroy_cb), editmenu_fd_list); + g_signal_connect_swapped(G_OBJECT(menu), "destroy", + G_CALLBACK(file_data_list_free), editmenu_fd_list); submenu_add_edit(menu, &item, G_CALLBACK(sr_menu_edit_cb), sd, editmenu_fd_list); if (!on_row) gtk_widget_set_sensitive(item, FALSE);