]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Fix base access to virtual signal handlers with return values, fixes bug
authorJürg Billeter <j@bitron.ch>
Thu, 20 Nov 2008 20:56:35 +0000 (20:56 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Thu, 20 Nov 2008 20:56:35 +0000 (20:56 +0000)
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

ChangeLog
gobject/valaccodemethodcallmodule.vala

index b83deaae5d25507aa2ce194724fc234a1759f4d4..0ea48beda78ac740b7ed1bb4fd00b29b96c8e260 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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:
index a3fcceba022f4b9704c1b98e8bf095e301bc57f5..5d4d9cc427b661967d7a6ba92e6e88b45593ab46 100644 (file)
@@ -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);