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.38.6~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=94c736e48e176b18c87cc97e3d2b4feea2a47a90;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 387db6027..140456c9d 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -1005,7 +1005,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) { @@ -1032,7 +1032,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 {