aboutsummaryrefslogtreecommitdiff
path: root/src/fs/gnunet-fs-gtk-main_window_file_publish.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/gnunet-fs-gtk-main_window_file_publish.c')
-rw-r--r--src/fs/gnunet-fs-gtk-main_window_file_publish.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/fs/gnunet-fs-gtk-main_window_file_publish.c b/src/fs/gnunet-fs-gtk-main_window_file_publish.c
index ee74ec64..cd18da87 100644
--- a/src/fs/gnunet-fs-gtk-main_window_file_publish.c
+++ b/src/fs/gnunet-fs-gtk-main_window_file_publish.c
@@ -944,7 +944,11 @@ add_dir_callback (void *cls, struct GNUNET_DISK_DirectoryIterator * di,
944 if (dirname == NULL) 944 if (dirname == NULL)
945 { 945 {
946 if (di == NULL) 946 if (di == NULL)
947 {
948 /* This is the top-level entry, hook the treemodel back */
949 gtk_tree_view_set_model (adc->ctx->file_info_treeview, adc->ctx->file_info_treemodel);
947 return; 950 return;
951 }
948 else 952 else
949 will_continue = GNUNET_DISK_directory_iterator_next (di, GNUNET_NO); 953 will_continue = GNUNET_DISK_directory_iterator_next (di, GNUNET_NO);
950 } 954 }
@@ -1031,6 +1035,11 @@ add_dir (struct MainPublishingDialogContext *ctx, const char *filename,
1031 scan_ctx->do_index = do_index; 1035 scan_ctx->do_index = do_index;
1032 scan_ctx->ctx = ctx; 1036 scan_ctx->ctx = ctx;
1033 1037
1038 /* Disconnect treestore from the treeview to prevent GTK from trying
1039 * to update it on the fly.
1040 */
1041 gtk_tree_view_set_model (ctx->file_info_treeview, NULL);
1042
1034 /* just make sure that dirname is not NULL, it's not really used */ 1043 /* just make sure that dirname is not NULL, it's not really used */
1035 add_dir_callback (scan_ctx, NULL, filename_expanded, filename_expanded); 1044 add_dir_callback (scan_ctx, NULL, filename_expanded, filename_expanded);
1036 GNUNET_free (filename_expanded); 1045 GNUNET_free (filename_expanded);