diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-09-18 16:21:04 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-09-18 16:21:04 +0000 |
commit | 79cd86dbfd5b2ea0963c84b48088ec189acfc795 (patch) | |
tree | 535769200823fdaa1fec9795fe986668cb33bdee /src/trg-files-tree-view.c | |
parent | 63763bb00502e3c235e478ec50e097904c774696 (diff) |
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/
Diffstat (limited to 'src/trg-files-tree-view.c')
-rw-r--r-- | src/trg-files-tree-view.c | 13 |
1 files changed, 7 insertions, 6 deletions
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) |