aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-09-15 17:48:42 +0000
committerChristian Grothoff <christian@grothoff.org>2011-09-15 17:48:42 +0000
commit57bab16b61124f536ed78f7a035f4e1b5232de95 (patch)
treea86e0a638e490d7be04b23500f254be6ffdbcd05
parentbb6e4de53fbfe8d963f63b231671e0ba52ce1dfc (diff)
downloadgnunet-gtk-57bab16b61124f536ed78f7a035f4e1b5232de95.tar.gz
gnunet-gtk-57bab16b61124f536ed78f7a035f4e1b5232de95.zip
fixing 1761
-rw-r--r--src/fs/gnunet-fs-gtk-event_handler.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/fs/gnunet-fs-gtk-event_handler.c b/src/fs/gnunet-fs-gtk-event_handler.c
index 3bf15dcd..0e6d6f1b 100644
--- a/src/fs/gnunet-fs-gtk-event_handler.c
+++ b/src/fs/gnunet-fs-gtk-event_handler.c
@@ -121,6 +121,7 @@ change_download_colour (struct DownloadEntry *de, const char *colour)
121 GtkTreePath *path; 121 GtkTreePath *path;
122 122
123 path = gtk_tree_row_reference_get_path (de->rr); 123 path = gtk_tree_row_reference_get_path (de->rr);
124 GNUNET_assert (NULL != path);
124 if (TRUE != gtk_tree_model_get_iter (GTK_TREE_MODEL (de->ts), &iter, path)) 125 if (TRUE != gtk_tree_model_get_iter (GTK_TREE_MODEL (de->ts), &iter, path))
125 { 126 {
126 GNUNET_break (0); 127 GNUNET_break (0);
@@ -464,13 +465,16 @@ download_lost_parent (struct DownloadEntry *de, uint64_t size,
464 GtkTreeRowReference *rr_old; 465 GtkTreeRowReference *rr_old;
465 GtkTreeModel *tm_old; 466 GtkTreeModel *tm_old;
466 GtkTreeIter iter_old; 467 GtkTreeIter iter_old;
468 GtkTreeIter child;
469 GtkTreeModel * model;
467 470
468 rr_old = de->rr; 471 rr_old = de->rr;
469 de->sr = NULL; 472 de->sr = NULL;
470 tab = GNUNET_GTK_add_to_uri_tab (&iter, NULL, de->meta, de->uri); 473 tab = GNUNET_GTK_add_to_uri_tab (&iter, NULL, de->meta, de->uri);
471 de->ts = tab->ts; 474 de->ts = tab->ts;
472 path = gtk_tree_model_get_path (GTK_TREE_MODEL (de->ts), &iter); 475 model = GTK_TREE_MODEL (de->ts);
473 de->rr = gtk_tree_row_reference_new (GTK_TREE_MODEL (de->ts), path); 476 path = gtk_tree_model_get_path (model, &iter);
477 de->rr = gtk_tree_row_reference_new (model, path);
474 gtk_tree_path_free (path); 478 gtk_tree_path_free (path);
475 mark_download_progress (de, size, completed, NULL, 0, 0, 0); 479 mark_download_progress (de, size, completed, NULL, 0, 0, 0);
476 tm_old = gtk_tree_row_reference_get_model (rr_old); 480 tm_old = gtk_tree_row_reference_get_model (rr_old);
@@ -478,9 +482,10 @@ download_lost_parent (struct DownloadEntry *de, uint64_t size,
478 gtk_tree_row_reference_free (rr_old); 482 gtk_tree_row_reference_free (rr_old);
479 gtk_tree_model_get_iter (tm_old, &iter_old, path); 483 gtk_tree_model_get_iter (tm_old, &iter_old, path);
480 gtk_tree_path_free (path); 484 gtk_tree_path_free (path);
481 move_children (tm_old, &iter_old, GTK_TREE_MODEL (de->ts), &iter); 485 move_children (tm_old, &iter_old, model, &iter);
482 delete_stale_subtree (tm_old, &iter_old); 486 while (TRUE == gtk_tree_model_iter_children (model, &child, &iter))
483 if (size > completed) 487 delete_stale_subtree (model, &child);
488 if (size > completed)
484 { 489 {
485 if (is_active) 490 if (is_active)
486 change_download_colour (de, "yellow"); 491 change_download_colour (de, "yellow");
@@ -1800,7 +1805,7 @@ GNUNET_GTK_fs_event_handler (void *cls,
1800 case GNUNET_FS_STATUS_SEARCH_CONTINUED: 1805 case GNUNET_FS_STATUS_SEARCH_CONTINUED:
1801 return info->value.search.cctx; 1806 return info->value.search.cctx;
1802 case GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED: 1807 case GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED:
1803 free_search_result (info->value.search.specifics.result_suspend.cctx); 1808 free_search_result (info->value.search.specifics.result_stopped.cctx);
1804 return NULL; 1809 return NULL;
1805 case GNUNET_FS_STATUS_SEARCH_RESULT_SUSPEND: 1810 case GNUNET_FS_STATUS_SEARCH_RESULT_SUSPEND:
1806 free_search_result (info->value.search.specifics.result_suspend.cctx); 1811 free_search_result (info->value.search.specifics.result_suspend.cctx);