]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
gtkmodule: Improve error messages
authorNiels De Graef <nielsdegraef@gmail.com>
Sat, 18 Feb 2023 20:32:52 +0000 (21:32 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 20 Feb 2023 13:17:22 +0000 (14:17 +0100)
Be a bit more specific about some of the errors that valac can
encounter when parsing a UI file.

(for my use case specifically, it helped me to figure out I had a
<property> tag without a name attribute in one of my UI files)

codegen/valagtkmodule.vala

index e129fcba035a2ab07ff2c1ebec6daeb52c6b3dab..69125ce574e16974108c1e3db59c02b7ecfe740f 100644 (file)
@@ -294,7 +294,7 @@ public class Vala.GtkModule : GSignalModule {
                        } else if (current_object != null && current_token == MarkupTokenType.START_ELEMENT && (current_name == "property" || current_name == "binding")) {
                                var property_name = reader.get_attribute ("name");
                                if (property_name == null) {
-                                       Report.error (node.source_reference, "Invalid binding in ui file `%s'", ui_file);
+                                       Report.error (node.source_reference, "Invalid %s without name in ui file `%s'", current_name, ui_file);
                                        current_token = reader.read_token (null, null);
                                        continue;
                                }
@@ -318,7 +318,7 @@ public class Vala.GtkModule : GSignalModule {
 
                                if (current_property != null) {
                                        if (handler_name == null) {
-                                               Report.error (node.source_reference, "Invalid closure in ui file `%s'", ui_file);
+                                               Report.error (node.source_reference, "Invalid %s without function in ui file `%s'", current_name, ui_file);
                                                current_token = reader.read_token (null, null);
                                                continue;
                                        }