diff options
-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); |