summaryrefslogtreecommitdiff
path: root/codegen/valagasyncmodule.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2018-12-10 16:07:46 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2018-12-11 14:18:35 +0100
commit013bb64cc8ef97326db1a44affcf420b0bc941cf (patch)
tree60e565a6e69db8eb692fd87d0d4a1a8bf0ca2607 /codegen/valagasyncmodule.vala
parent3763b4c6c296fa3bc467050ae50e1dc320e85039 (diff)
downloadvala-013bb64cc8ef97326db1a44affcf420b0bc941cf.tar.gz
codegen: Handle non-default AsyncResult parameter position
Unfortunately gdbus-codegen puts the AsyncResult parameter after possible out-parameters therefore there is an "async_result_pos" attribute required to handle this correctly. Vala supposely follows the common practice to put the AsyncResult before out-parameters by default. Fixes https://gitlab.gnome.org/GNOME/vala/issues/709
Diffstat (limited to 'codegen/valagasyncmodule.vala')
-rw-r--r--codegen/valagasyncmodule.vala6
1 files changed, 3 insertions, 3 deletions
diff --git a/codegen/valagasyncmodule.vala b/codegen/valagasyncmodule.vala
index a3022532a..29c38fddd 100644
--- a/codegen/valagasyncmodule.vala
+++ b/codegen/valagasyncmodule.vala
@@ -586,7 +586,7 @@ public class Vala.GAsyncModule : GtkModule {
var cparam_map = new HashMap<int,CCodeParameter> (direct_hash, direct_equal);
- cparam_map.set (get_param_pos (0.1), new CCodeParameter ("_res_", "GAsyncResult*"));
+ cparam_map.set (get_param_pos (get_ccode_async_result_pos (m)), new CCodeParameter ("_res_", "GAsyncResult*"));
generate_cparameters (m, cfile, cparam_map, finishfunc, null, null, null, 2);
@@ -832,9 +832,9 @@ public class Vala.GAsyncModule : GtkModule {
carg_map.set (get_param_pos (-0.9), new CCodeIdentifier ("_user_data_"));
}
} else if (direction == 2) {
- cparam_map.set (get_param_pos (0.1), new CCodeParameter ("_res_", "GAsyncResult*"));
+ cparam_map.set (get_param_pos (get_ccode_async_result_pos (m)), new CCodeParameter ("_res_", "GAsyncResult*"));
if (carg_map != null) {
- carg_map.set (get_param_pos (0.1), new CCodeIdentifier ("_res_"));
+ carg_map.set (get_param_pos (get_ccode_async_result_pos (m)), new CCodeIdentifier ("_res_"));
}
}
}