diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-12-10 16:07:46 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-12-11 14:18:35 +0100 |
commit | 013bb64cc8ef97326db1a44affcf420b0bc941cf (patch) | |
tree | 60e565a6e69db8eb692fd87d0d4a1a8bf0ca2607 /codegen/valagasyncmodule.vala | |
parent | 3763b4c6c296fa3bc467050ae50e1dc320e85039 (diff) | |
download | vala-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.vala | 6 |
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_")); } } } |