diff --git a/gtk/tr-torrent.c b/gtk/tr-torrent.c index b633e0c1c..9cac97422 100644 --- a/gtk/tr-torrent.c +++ b/gtk/tr-torrent.c @@ -162,11 +162,11 @@ notifyInMainThread( gpointer user_data ) } static void -completenessChangedCallback( tr_torrent * tor UNUSED, +completenessChangedCallback( tr_torrent * tor, tr_completeness completeness, void * user_data ) { - if( completeness != TR_LEECH ) + if( ( completeness != TR_LEECH ) && ( tr_torrentStat( tor )->sizeWhenDone != 0 ) ) g_idle_add( notifyInMainThread, user_data ); } diff --git a/gtk/util.c b/gtk/util.c index 2ce9fcd7e..691907636 100644 --- a/gtk/util.c +++ b/gtk/util.c @@ -23,6 +23,7 @@ *****************************************************************************/ #include /* isxdigit() */ +#include #include #include /* free() */ #include /* strcmp() */ @@ -521,12 +522,22 @@ tr_file_trash_or_unlink( const char * filename ) { gboolean trashed = FALSE; #ifdef HAVE_GIO + GError * err = NULL; GFile * file = g_file_new_for_path( filename ); - trashed = g_file_trash( file, NULL, NULL ); + trashed = g_file_trash( file, NULL, &err ); + if( err ) + g_message( "Unable to trash file \"%s\": %s", filename, err->message ); + g_clear_error( &err ); g_object_unref( G_OBJECT( file ) ); + + #endif - if( !trashed ) - g_unlink( filename ); + if( !trashed ) { + if( g_unlink( filename ) ) { + const int err = errno; + g_message( "Unable to unlink file \"%s\": %s", filename, g_strerror( err ) ); + } + } } return 0;