aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-06-26 09:34:13 +0000
committerChristian Grothoff <christian@grothoff.org>2013-06-26 09:34:13 +0000
commit228ac347590dbab8c49179b2ddd56442bd9c5a30 (patch)
treed2f697b3831ae871425f4da237415f0e69bfdca7
parentb59505fb59f630a07e2c8c950626628b41cb1d9c (diff)
downloadgnunet-gtk-228ac347590dbab8c49179b2ddd56442bd9c5a30.tar.gz
gnunet-gtk-228ac347590dbab8c49179b2ddd56442bd9c5a30.zip
-do not schedule kill task twice on error
-rw-r--r--src/fs/gnunet-fs-gtk_publish-dialog.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/fs/gnunet-fs-gtk_publish-dialog.c b/src/fs/gnunet-fs-gtk_publish-dialog.c
index aec3521e..251509cb 100644
--- a/src/fs/gnunet-fs-gtk_publish-dialog.c
+++ b/src/fs/gnunet-fs-gtk_publish-dialog.c
@@ -1432,8 +1432,11 @@ stop_scanner_task (void *cls,
1432 struct AddDirClientContext *adcc = cls; 1432 struct AddDirClientContext *adcc = cls;
1433 1433
1434 adcc->kill_task = GNUNET_SCHEDULER_NO_TASK; 1434 adcc->kill_task = GNUNET_SCHEDULER_NO_TASK;
1435 GNUNET_FS_directory_scan_abort (adcc->ds); 1435 if (NULL != adcc->ds)
1436 adcc->ds = NULL; 1436 {
1437 GNUNET_FS_directory_scan_abort (adcc->ds);
1438 adcc->ds = NULL;
1439 }
1437} 1440}
1438 1441
1439 1442
@@ -1525,7 +1528,9 @@ directory_scan_cb (void *cls,
1525 break; 1528 break;
1526 case GNUNET_FS_DIRSCANNER_INTERNAL_ERROR: 1529 case GNUNET_FS_DIRSCANNER_INTERNAL_ERROR:
1527 insert_progress_dialog_text (adcc, _("Operation failed (press cancel)\n")); 1530 insert_progress_dialog_text (adcc, _("Operation failed (press cancel)\n"));
1528 adcc->kill_task = GNUNET_SCHEDULER_add_now (&stop_scanner_task, adcc); 1531 if ( (NULL != adcc->ds) &&
1532 (GNUNET_SCHEDULER_NO_TASK == adcc->kill_task) )
1533 adcc->kill_task = GNUNET_SCHEDULER_add_now (&stop_scanner_task, adcc);
1529 break; 1534 break;
1530 case GNUNET_FS_DIRSCANNER_FINISHED: 1535 case GNUNET_FS_DIRSCANNER_FINISHED:
1531 { 1536 {