From 3c55413ea9d8fe1976affb15e35bb3d63e9a61b9 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Mon, 27 Aug 2012 13:07:50 +0100 Subject: revert to gtk2 by default for a bit longer, because gtk3 seems crashy still in ubuntu --- src/trg-torrent-props-dialog.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index 7c1dc15..aef716a 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -303,7 +303,6 @@ static void info_page_update(TrgTorrentPropsDialog * dialog, activityDate, error; gchar *statusString; guint flags; - //const gchar * creator; const gchar *str; char buf[512]; @@ -465,29 +464,30 @@ static GtkWidget *trg_props_limits_page_new(TrgTorrentPropsDialog * win, return t; } -static void models_updated(TrgTorrentModel * model, gpointer data) -{ +static void models_updated(TrgTorrentModel * model, gpointer data) { TrgTorrentPropsDialogPrivate *priv = GET_PRIVATE(data); GHashTable *ht = get_torrent_table(model); gint64 serial = trg_client_get_serial(priv->client); - JsonObject *t; + JsonObject *t = NULL; GtkTreeIter iter; - - if (get_torrent_data - (ht, json_array_get_int_element(priv->targetIds, 0), &t, &iter) - && t != priv->lastJson) { - trg_files_model_update(priv->filesModel, - GTK_TREE_VIEW(priv->filesTv), serial, t, - TORRENT_GET_MODE_UPDATE); - trg_peers_model_update(priv->peersModel, - TRG_TREE_VIEW(priv->peersTv), serial, t, - TORRENT_GET_MODE_UPDATE); + gboolean exists = get_torrent_data(ht, + json_array_get_int_element(priv->targetIds, 0), &t, &iter); + + if (exists && priv->lastJson != t) { + trg_files_model_update(priv->filesModel, GTK_TREE_VIEW(priv->filesTv), + serial, t, TORRENT_GET_MODE_UPDATE); + trg_peers_model_update(priv->peersModel, TRG_TREE_VIEW(priv->peersTv), + serial, t, TORRENT_GET_MODE_UPDATE); trg_trackers_model_update(priv->trackersModel, serial, t, - TORRENT_GET_MODE_UPDATE); + TORRENT_GET_MODE_UPDATE); info_page_update(TRG_TORRENT_PROPS_DIALOG(data), t, model, &iter); - - priv->lastJson = t; } + + gtk_widget_set_sensitive(GTK_WIDGET(priv->filesTv), exists); + gtk_widget_set_sensitive(GTK_WIDGET(priv->trackersTv), exists); + gtk_widget_set_sensitive(GTK_WIDGET(priv->peersTv), exists); + + priv->lastJson = t; } static GObject *trg_torrent_props_dialog_constructor(GType type, -- cgit v1.2.3