From: Jürg Billeter Date: Thu, 20 Nov 2008 20:56:35 +0000 (+0000) Subject: Fix base access to virtual signal handlers with return values, fixes bug X-Git-Tag: VALA_0_5_2~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=258aac4d48dc21d430bed8d1428dde8333ce9a2c;p=thirdparty%2Fvala.git Fix base access to virtual signal handlers with return values, fixes bug 2008-11-20 Jürg Billeter * gobject/valaccodemethodcallmodule.vala: Fix base access to virtual signal handlers with return values, fixes bug 538901 svn path=/trunk/; revision=2040 --- diff --git a/ChangeLog b/ChangeLog index b83deaae5..0ea48beda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-11-20 Jürg Billeter + + * gobject/valaccodemethodcallmodule.vala: + + Fix base access to virtual signal handlers with return values, + fixes bug 538901 + 2008-11-20 Jürg Billeter * vala/Makefile.am: 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);