From: Rico Tzschichholz Date: Mon, 29 Jan 2018 16:38:19 +0000 (+0100) Subject: girparser: Don't accept methods as property-accessor which throw errors X-Git-Tag: 0.34.15~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfd24ac7d3c4b504257b21820940819d6f99bd6c;p=thirdparty%2Fvala.git girparser: Don't accept methods as property-accessor which throw errors This should be considered a temporary fix. https://bugzilla.gnome.org/show_bug.cgi?id=792998 --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 50b71f094..5bc4d62cb 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -994,7 +994,7 @@ public class Vala.GirParser : CodeVisitor { // ensure getter vfunc if the property is abstract if (m != null) { getter.process (parser); - if (m.return_type is VoidType || m.get_parameters().size != 0) { + if (m.return_type is VoidType || m.get_parameters().size != 0 || m.get_error_types ().size > 0) { prop.set_attribute ("NoAccessorMethod", true); } else { if (getter.name == name) { @@ -1021,7 +1021,7 @@ public class Vala.GirParser : CodeVisitor { // ensure setter vfunc if the property is abstract if (m != null) { setter.process (parser); - if (!(m.return_type is VoidType || m.return_type is BooleanType) || m.get_parameters().size != 1) { + if (!(m.return_type is VoidType || m.return_type is BooleanType) || m.get_parameters ().size != 1 || m.get_error_types ().size > 0) { prop.set_attribute ("NoAccessorMethod", true); prop.set_attribute ("ConcreteAccessor", false); } else {