diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-03-16 22:03:15 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-03-16 22:03:15 +0000 |
commit | 376327480b37a6d0a88029f070df991e6add71dc (patch) | |
tree | 8c6cd5519b36155b6a773fd513b5dfc18175ec77 /src/trg-general-panel.c | |
parent | fd2ee406559f8732b50e7f5ca5ec0bade12bf83f (diff) |
fix a crash if disconnecting with the graph disabled, disabling tracker/dir filters while disconnected. change possible -NaN for ratio to N/A in general panel.
Diffstat (limited to 'src/trg-general-panel.c')
-rw-r--r-- | src/trg-general-panel.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index 2e6ed83..91274bf 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -108,7 +108,7 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gint sizeOfBuf; gchar *statusString; const gchar *errorStr; - gint64 eta; + gint64 eta, uploaded, downloaded; gint seeders, leechers; GtkLabel *keyLabel; @@ -125,16 +125,22 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, trg_strlspeed(buf, torrent_get_rate_up(t) / KILOBYTE_FACTOR); gtk_label_set_text(GTK_LABEL(priv->gen_up_rate_label), buf); - trg_strlsize(buf, torrent_get_uploaded(t)); + uploaded = torrent_get_uploaded(t); + trg_strlsize(buf, uploaded); gtk_label_set_text(GTK_LABEL(priv->gen_uploaded_label), buf); - trg_strlsize(buf, torrent_get_downloaded(t)); + downloaded = torrent_get_downloaded(t); + trg_strlsize(buf, downloaded); gtk_label_set_text(GTK_LABEL(priv->gen_downloaded_label), buf); - trg_strlratio(buf, - (double) torrent_get_uploaded(t) / - (double) torrent_get_downloaded(t)); - gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), buf); + if (uploaded > 0 && downloaded > 0) { + trg_strlratio(buf, + (double) uploaded / + (double) downloaded); + gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), buf); + } else { + gtk_label_set_text(GTK_LABEL(priv->gen_ratio_label), _("N/A")); + } statusString = torrent_get_status_string(torrent_get_status(t)); gtk_label_set_text(GTK_LABEL(priv->gen_status_label), statusString); @@ -159,7 +165,7 @@ void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_markup(GTK_LABEL(priv->gen_error_label), markup); g_free(markup); - markup = g_markup_printf_escaped("<span fgcolor=\"red\">%s</span>", + markup = g_markup_printf_escaped("<span font_weight=\"bold\" fgcolor=\"red\">%s</span>", _("Error")); gtk_label_set_markup(keyLabel, markup); g_free(markup); |