diff options
author | Jürg Billeter <j@bitron.ch> | 2008-11-20 20:56:35 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2008-11-20 20:56:35 +0000 |
commit | 258aac4d48dc21d430bed8d1428dde8333ce9a2c (patch) | |
tree | aed69b1c2263e90ca90151a8d3d892d7d0bf59b7 | |
parent | 2af5cc83c487aab712e036bbeae608cd4692390b (diff) | |
download | vala-258aac4d48dc21d430bed8d1428dde8333ce9a2c.tar.gz |
Fix base access to virtual signal handlers with return values, fixes bug
2008-11-20 Jürg Billeter <j@bitron.ch>
* gobject/valaccodemethodcallmodule.vala:
Fix base access to virtual signal handlers with return values,
fixes bug 538901
svn path=/trunk/; revision=2040
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gobject/valaccodemethodcallmodule.vala | 4 |
2 files changed, 10 insertions, 1 deletions
@@ -1,5 +1,12 @@ 2008-11-20 Jürg Billeter <j@bitron.ch> + * gobject/valaccodemethodcallmodule.vala: + + Fix base access to virtual signal handlers with return values, + fixes bug 538901 + +2008-11-20 Jürg Billeter <j@bitron.ch> + * vala/Makefile.am: * vala/valacodevisitor.vala: * vala/valadynamicmethod.vala: diff --git a/gobject/valaccodemethodcallmodule.vala b/gobject/valaccodemethodcallmodule.vala index a3fcceba0..5d4d9cc42 100644 --- a/gobject/valaccodemethodcallmodule.vala +++ b/gobject/valaccodemethodcallmodule.vala @@ -383,7 +383,9 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule { if (itype is SignalType && !(itype.get_return_type () is VoidType)) { var sig = ((SignalType) itype).signal_symbol; - if (!sig.has_emitter) { + if (ma != null && ma.inner is BaseAccess && sig.is_virtual) { + // normal return value for base access + } else if (!sig.has_emitter) { var temp_var = get_temp_variable (itype.get_return_type ()); var temp_ref = new CCodeIdentifier (temp_var.name); |