From 72cc83d5ade67e098ea8c5880e7de9d5709cb025 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 20 Jun 2010 12:23:36 +0000 Subject: free memory --- src/main_window_file_publish.c | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/src/main_window_file_publish.c b/src/main_window_file_publish.c index bc00813f..1be61ff3 100644 --- a/src/main_window_file_publish.c +++ b/src/main_window_file_publish.c @@ -426,8 +426,6 @@ move_entry (GtkTreeModel *tm, } while (TRUE == gtk_tree_model_iter_next (tm, &child)); } - /* FIXME: move subtree starting at old - into subtree starting at newpos first! */ g_free (short_fn); g_free (fsf); if (dsel == GNUNET_YES) @@ -791,6 +789,35 @@ GNUNET_GTK_master_publish_dialog_edit_button_clicked_cb (GtkWidget * dummy, } +/** + * Free row reference stored in the file information's + * client-info pointer. + */ +static int +free_fi_row_reference (void *cls, + struct GNUNET_FS_FileInformation *fi, + uint64_t length, + struct GNUNET_CONTAINER_MetaData *meta, + struct GNUNET_FS_Uri **uri, + uint32_t *anonymity, + uint32_t *priority, + int *do_index, + struct GNUNET_TIME_Absolute *expirationTime, + void **client_info) +{ + GtkTreeRowReference *row = *client_info; + + if (row == NULL) + { + GNUNET_break (0); + return GNUNET_OK; + } + gtk_tree_row_reference_free (row); + return GNUNET_OK; +} + + + void GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb (GtkWidget * dummy, gpointer data) @@ -799,6 +826,7 @@ GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb (GtkWidget * dummy, GtkTreeModel *tm; GtkTreeSelection *sel; GtkTreeIter iter; + struct GNUNET_FS_FileInformation *fip; tv = GTK_TREE_VIEW (gtk_builder_get_object (master_builder, "GNUNET_GTK_master_publish_dialog_file_information_tree_view")); @@ -812,9 +840,11 @@ GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb (GtkWidget * dummy, } gtk_tree_model_get (tm, &iter, - /* FIXME */ + 5, &fip, -1); - /* FIXME: free stuff */ + GNUNET_FS_file_information_destroy (fip, + &free_fi_row_reference, + NULL); gtk_tree_store_remove (GTK_TREE_STORE (tm), &iter); update_selectivity (); -- cgit v1.2.3