summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2009-02-20 17:04:24 +0000
committerJürg Billeter <juergbi@src.gnome.org>2009-02-20 17:04:24 +0000
commitd84521d25177f25a5c9291f0006ff85345e9503f (patch)
tree64489c226518d54a527a19aba8c4ba24031d6c97
parent5e7773353c5a13cb6b9f04fd81bf636cdbea647f (diff)
downloadvala-d84521d25177f25a5c9291f0006ff85345e9503f.tar.gz
Support error handling when dynamically calling void methods, patch by
2009-02-20 Jürg Billeter <j@bitron.ch> * gobject/valadbusclientmodule.vala: Support error handling when dynamically calling void methods, patch by Frederik Sdun, fixes bug 571258 svn path=/trunk/; revision=2464
-rw-r--r--ChangeLog7
-rw-r--r--THANKS1
-rw-r--r--gobject/valadbusclientmodule.vala8
3 files changed, 10 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index b26319704..8f6cb33ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2009-02-20 Jürg Billeter <j@bitron.ch>
+ * gobject/valadbusclientmodule.vala:
+
+ Support error handling when dynamically calling void methods,
+ patch by Frederik Sdun, fixes bug 571258
+
+2009-02-20 Jürg Billeter <j@bitron.ch>
+
* gobject-introspection/scanner.c:
Include unistd.h to support compilation with
diff --git a/THANKS b/THANKS
index 21ac91150..db2e905d7 100644
--- a/THANKS
+++ b/THANKS
@@ -30,6 +30,7 @@ Evan Nemerson
Florian Brosch
Francisco Camenforte Torres
Frederik
+Frederik Sdun
Gabriel Falcão
Geert Jan Alsem
Götz Waschk
diff --git a/gobject/valadbusclientmodule.vala b/gobject/valadbusclientmodule.vala
index d36ef9e18..ddb45dd08 100644
--- a/gobject/valadbusclientmodule.vala
+++ b/gobject/valadbusclientmodule.vala
@@ -184,12 +184,10 @@ internal class Vala.DBusClientModule : DBusModule {
ccall.add_argument (new CCodeIdentifier (cb_fun.name));
ccall.add_argument (new CCodeConstant ("param%d_target".printf (callback_index)));
ccall.add_argument (new CCodeConstant ("NULL"));
- } else if (found_out || !(method.return_type is VoidType)) {
+ } else {
ccall.call = new CCodeIdentifier ("dbus_g_proxy_call");
ccall.add_argument (new CCodeIdentifier ("error"));
- } else {
- ccall.call = new CCodeIdentifier ("dbus_g_proxy_call_no_reply");
}
foreach (FormalParameter param in method.get_parameters ()) {
@@ -433,9 +431,7 @@ internal class Vala.DBusClientModule : DBusModule {
block.add_statement (new CCodeReturnStatement (new CCodeIdentifier ("result")));
}
} else {
- if (found_out) {
- ccall.add_argument (new CCodeIdentifier ("G_TYPE_INVALID"));
- }
+ ccall.add_argument (new CCodeIdentifier ("G_TYPE_INVALID"));
block.add_statement (new CCodeExpressionStatement (ccall));