Mercurial > gftp.yaz
diff src/gtk/transfer.c @ 56:a12bcbc2fce4
2002-11-11 Brian Masney <masneyb@gftp.org>
* src/gtk/dnd.c - fixes to DnD code
* src/gtk/gftp-gtk.[ch] - added main_thread_id variable
* src/gtk/misc-gtk.c (ftp_log) - don't check the user_data to see if
we're in a child thread, instead compare the value of pthread_self()
with main_thread_id
* src/gtk/chmod_dialog.c src/gtk/delete_dialog.c src/gtk/menu-items.c
src/gtk/mkdir_dialog.c src/gtk/rename_dialog.c src/gtk/transfer.c -
don't set user_data to 0x1 if we're in a child thread
* lib/gftp.h src/gtk/misc-gtk.c src/text/gftp-text.c - make
r_getservbyname() available even if HAVE_GERADDRINFO is defined
* lib/misc.c (make_ssh_exec_args) - if port is zero, lookup the default
port for the ssh service
* lib/protocols.c (gftp_connect_server) - if the port is zero, store
the default port for that protocol there
* src/gtk/transfer.c - added function update_window_transfer_bytes().
Be able to update the directory download progress in window1 now
* lib/config_file.c lib/misc.c lib/protocols.c lib/ssh.c lib/sshv2.c
src/text/gftp-text.c - use g_strdup() instead of g_strconcat() where
needed
author | masneyb |
---|---|
date | Mon, 11 Nov 2002 23:16:12 +0000 |
parents | 0fec02fb9e54 |
children | c01d91c10f6c |
line wrap: on
line diff
--- a/src/gtk/transfer.c Mon Nov 11 11:20:13 2002 +0000 +++ b/src/gtk/transfer.c Mon Nov 11 23:16:12 2002 +0000 @@ -79,7 +79,6 @@ GList * files; request = data; - request->user_data = (void *) 0x1; if (request->use_threads) { @@ -97,7 +96,6 @@ if (request->use_threads) use_jmp_environment = 0; - request->user_data = NULL; request->stopable = 0; if (request->wakeup_main_thread[1] > 0) write (request->wakeup_main_thread[1], " ", 1); @@ -128,7 +126,6 @@ if (request->use_threads) use_jmp_environment = 0; - request->user_data = NULL; request->stopable = 0; if (request->wakeup_main_thread[1] > 0) write (request->wakeup_main_thread[1], " ", 1); @@ -152,7 +149,6 @@ } } - request->user_data = NULL; if (request->use_threads) use_jmp_environment = 0; @@ -245,7 +241,6 @@ int ret, sj; request = data; - request->user_data = (void *) 0x1; conn_num = 0; if (request->use_threads) @@ -286,7 +281,6 @@ if (request->use_threads) use_jmp_environment = 0; - request->user_data = NULL; request->stopable = 0; if (request->wakeup_main_thread[1] > 0) write (request->wakeup_main_thread[1], " ", 1); @@ -514,9 +508,6 @@ int success, sj; transfer = data; - transfer->fromreq->user_data = (void *) 0x01; - if (transfer->toreq) - transfer->toreq->user_data = (void *) 0x01; if (transfer->fromreq->use_threads || (transfer->toreq && transfer->toreq->use_threads)) @@ -544,9 +535,6 @@ (transfer->toreq && transfer->toreq->use_threads)) use_jmp_environment = 0; - transfer->fromreq->user_data = NULL; - if (transfer->toreq) - transfer->toreq->user_data = NULL; transfer->fromreq->stopable = 0; return ((void *) success); } @@ -753,8 +741,6 @@ pthread_detach (pthread_self ()); transfer = data; - transfer->fromreq->user_data = (void *) 0x1; - transfer->toreq->user_data = (void *) 0x1; transfer->curfle = transfer->files; gettimeofday (&transfer->starttime, NULL); memcpy (&transfer->lasttime, &transfer->starttime, @@ -979,8 +965,6 @@ transfer->toreq->cancel = 0; } transfer->done = 1; - transfer->fromreq->user_data = NULL; - transfer->toreq->user_data = NULL; return (NULL); } @@ -1423,7 +1407,7 @@ tdata = node->data; if (tdata->started) { - fromreq = ((gftp_window_data *) tdata->fromwdata)->request; + fromreq = tdata->fromwdata != NULL ? ((gftp_window_data *) tdata->fromwdata)->request : NULL; if (!tdata->fromreq->stopable && tdata->fromwdata && ((fromreq->sockfd == NULL && fromreq->cached) || fromreq->always_connected) && tdata->fromreq->sockfd != NULL && @@ -1581,32 +1565,41 @@ gtk_ctree_node_set_text (GTK_CTREE (dlwdw), tempfle->node, 1, dlstr); } +static void +update_window_transfer_bytes (gftp_window_data * wdata) +{ + char *tempstr, *temp1str; + + if (wdata->request->gotbytes == -1) + { + update_window_info (); + wdata->request->gotbytes = 0; + } + else + { + tempstr = insert_commas (wdata->request->gotbytes, NULL, 0); + temp1str = g_strdup_printf (_("Retrieving file names...%s bytes"), + tempstr); + gtk_label_set (GTK_LABEL (wdata->hoststxt), temp1str); + g_free (tempstr); + g_free (temp1str); + } +} + gint update_downloads (gpointer data) { - char tempstr[50], temp1str[127]; GList * templist, * next; gftp_transfer * tdata; if (file_transfer_logs != NULL) display_cached_logs (); + if (window1.request->gotbytes != 0) + update_window_transfer_bytes (&window1); if (window2.request->gotbytes != 0) - { - if (window2.request->gotbytes == -1) - { - update_window_info (); - window2.request->gotbytes = 0; - } - else - { - insert_commas (window2.request->gotbytes, tempstr, sizeof (tempstr)); - g_snprintf (temp1str, sizeof (temp1str), - _("Retrieving file names...%s bytes"), tempstr); - gtk_label_set (GTK_LABEL (window2.hoststxt), temp1str); - } - } + update_window_transfer_bytes (&window2); if (viewedit_process_done) check_done_process ();