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-trackers-tree-view.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/trg-trackers-tree-view.c') diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index 7f385ba..f4c1e87 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -27,7 +27,6 @@ #include "trg-client.h" #include "trg-menu-bar.h" #include "requests.h" -#include "dispatch.h" #include "json.h" #include "trg-trackers-model.h" #include "trg-main-window.h" @@ -56,16 +55,18 @@ static gboolean is_tracker_edit_supported(TrgClient *tc) return trg_client_get_rpc_version(tc) >= 10; } -static void -on_trackers_update(JsonObject * response, int status, gpointer data) +static gboolean +on_trackers_update(gpointer data) { + trg_response *response = (trg_response*)data; TrgTrackersTreeViewPrivate *priv = - TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(data); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(data)); + TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(response->cb_data); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data)); trg_trackers_model_set_accept(TRG_TRACKERS_MODEL(model), TRUE); - on_generic_interactive_action(response, status, priv->win); + response->cb_data = priv->win; + return on_generic_interactive_action(data); } void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, -- cgit v1.2.3