diff --git a/gtk/tr-core.c b/gtk/tr-core.c index 369af1c9b..fd552863a 100644 --- a/gtk/tr-core.c +++ b/gtk/tr-core.c @@ -1693,7 +1693,7 @@ static void blocklistResponseFunc( TrCore * core, tr_benc * response, gpointer userData UNUSED ) { tr_benc * args; - int64_t ruleCount = 0; + int64_t ruleCount = -1; if( tr_bencDictFindDict( response, "arguments", &args ) ) tr_bencDictFindInt( args, "blocklist-size", &ruleCount ); diff --git a/gtk/tr-prefs.c b/gtk/tr-prefs.c index 03b869476..35235ec31 100644 --- a/gtk/tr-prefs.c +++ b/gtk/tr-prefs.c @@ -425,12 +425,14 @@ onBlocklistUpdateResponse( GtkDialog * dialog, gint response UNUSED, gpointer gd static void onBlocklistUpdated( TrCore * core, int n, gpointer gdata ) { - const char * s = gtr_ngettext( "Blocklist now has %'d rule.", "Blocklist now has %'d rules.", n ); + const tr_bool success = n >= 0; + const int count = n >=0 ? n : tr_blocklistGetRuleCount( tr_core_session( core ) ); + const char * s = gtr_ngettext( "Blocklist has %'d rule.", "Blocklist has %'d rules.", count ); struct blocklist_data * data = gdata; GtkMessageDialog * d = GTK_MESSAGE_DIALOG( data->updateBlocklistDialog ); gtk_widget_set_sensitive( data->updateBlocklistButton, TRUE ); - gtk_message_dialog_set_markup( d, _( "Update succeeded!" ) ); - gtk_message_dialog_format_secondary_text( d, s, n ); + gtk_message_dialog_set_markup( d, success ? _( "Update succeeded!" ) : _( "Unable to update." ) ); + gtk_message_dialog_format_secondary_text( d, s, count ); updateBlocklistText( data->label, core ); }