# HG changeset patch # User Cristi Magherusan # Date 1187223987 -10800 # Node ID 63144ea14b50e7ac30bef29b20326d54853f5681 # Parent c2fa3728df435255b7dcb03e67e4e05ebcbe8911 handling device disconnected errors diff -r c2fa3728df43 -r 63144ea14b50 src/mtp_up/mtp.c --- a/src/mtp_up/mtp.c Tue Aug 14 00:14:43 2007 +0300 +++ b/src/mtp_up/mtp.c Thu Aug 16 03:26:27 2007 +0300 @@ -76,10 +76,22 @@ from_path = g_strdup_printf("%s/%s", tuple_get_string(tuple, "file-path"), tuple_get_string(tuple, "file-name")); f = vfs_fopen(from_path,"r"); if(!vfs_is_streaming(f)) + { + gchar *tmp; + tmp = g_strescape(from_path,NULL); + filename=g_filename_from_uri(tmp,NULL,NULL); + + if(filename) { - filename=g_filename_from_uri(from_path,NULL,NULL); up_list=g_list_prepend(up_list,filename); + g_free(tmp); } + else + { + up_list = g_list_prepend(up_list,tmp); + g_free(filename); + } + } vfs_fclose(f); entry->selected = FALSE; g_free(from_path); @@ -121,7 +133,10 @@ if (ret == 0) g_print("Upload finished!\n"); else + { g_print("An error has occured while uploading '%s'...\nUpload failed!!!",comp); + mtp_initialised = FALSE; + } #endif LIBMTP_destroy_file_t(genfile); g_free(filename); @@ -132,19 +147,19 @@ gpointer upload(gpointer arg) { if(!mutex) - { - gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DEFAULT_LABEL); - gtk_widget_set_sensitive(menuitem, TRUE); - return NULL; - } + { + gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DEFAULT_LABEL); + gtk_widget_set_sensitive(menuitem, TRUE); + return NULL; + } g_mutex_lock(mutex); if(!mtp_device) - { - gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DEFAULT_LABEL); - gtk_widget_set_sensitive(menuitem, TRUE); - g_mutex_unlock(mutex); - return NULL; - } + { + gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DEFAULT_LABEL); + gtk_widget_set_sensitive(menuitem, TRUE); + g_mutex_unlock(mutex); + return NULL; + } gchar* from_path; GList *up_list=NULL,*node; @@ -156,7 +171,6 @@ node = g_list_next(node); } g_list_free(up_list); - gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DEFAULT_LABEL); gtk_widget_set_sensitive(menuitem, TRUE); g_mutex_unlock(mutex); @@ -195,6 +209,7 @@ g_print("No MTP devices have been found !!!"); #endif return; + mtp_initialised = FALSE; } gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DISABLED_LABEL);