From 79cd86dbfd5b2ea0963c84b48088ec189acfc795 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 18 Sep 2011 16:21:04 +0000 Subject: Big changeset, may break stuff. Unfortunately you can't magically jump into the UI thread using gdk_threads_enter/leave() on Windows, the only way is to schedule a callback using g_idle_add. This required a lot of reworking. Good news, Windows support actually works now \o/ --- src/trg-files-tree-view.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/trg-files-tree-view.c') diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index f0975fa..d9661b0 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -30,7 +30,6 @@ #include "requests.h" #include "util.h" #include "json.h" -#include "dispatch.h" #include "protocol-constants.h" G_DEFINE_TYPE(TrgFilesTreeView, trg_files_tree_view, TRG_TYPE_TREE_VIEW) @@ -104,15 +103,17 @@ static void send_updated_file_prefs_foreachfunc(GtkTreeModel * model, add_file_id_to_array(args, FIELD_FILES_PRIORITY_NORMAL, id); } -static void -on_files_update(JsonObject * response, int status, gpointer data) +static gboolean +on_files_update(gpointer data) { - TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(data); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(data)); + trg_response *response = (trg_response*)data; + TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(response->cb_data); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); trg_files_model_set_accept(TRG_FILES_MODEL(model), TRUE); - on_generic_interactive_action(response, status, priv->win); + response->cb_data = priv->win; + return on_generic_interactive_action(data); } static void send_updated_file_prefs(TrgFilesTreeView * tv) -- cgit v1.2.3