From 740df25896ef41a079160c0cdec5007f0f51a2e6 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 20 Feb 2011 22:08:15 +0000 Subject: ugh, forgot to lock the GDK thread in the new update-blocklist/port-test callbacks. --- src/trg-remote-prefs-dialog.c | 11 +++++++++-- src/trg-stats-dialog.c | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index fba2f5f..764c4a5 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -295,6 +295,8 @@ static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win, static void on_port_tested(JsonObject * response, int status, gpointer data) { + gdk_threads_enter(); + if (TRG_IS_REMOTE_PREFS_DIALOG(data)) { TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); @@ -311,9 +313,10 @@ static void on_port_tested(JsonObject * response, int status, } else { trg_error_dialog(GTK_WINDOW(data), status, response); } - } + } - response_unref(response); + gdk_threads_leave(); + response_unref(response); } static void port_test_cb(GtkButton *b, gpointer data) @@ -331,6 +334,8 @@ static void port_test_cb(GtkButton *b, gpointer data) static void on_blocklist_updated(JsonObject * response, int status, gpointer data) { + gdk_threads_enter(); + if (TRG_IS_REMOTE_PREFS_DIALOG(data)) { TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data); @@ -347,6 +352,8 @@ static void on_blocklist_updated(JsonObject * response, int status, } } + gdk_threads_leave(); + response_unref(response); } diff --git a/src/trg-stats-dialog.c b/src/trg-stats-dialog.c index 9edb79c..315d3e2 100644 --- a/src/trg-stats-dialog.c +++ b/src/trg-stats-dialog.c @@ -202,6 +202,8 @@ static void on_stats_reply(JsonObject * response, int status, TrgStatsDialogPrivate *priv; JsonObject *args; + gdk_threads_enter(); + if (!TRG_IS_STATS_DIALOG(data)) { response_unref(response); return; @@ -224,6 +226,8 @@ static void on_stats_reply(JsonObject * response, int status, trg_error_dialog(GTK_WINDOW(data), status, response); } + gdk_threads_leave(); + response_unref(response); } -- cgit v1.2.3