[vala] gtkmodule: Error out on malformed signal definition



commit 1349a469763391e6361c715b5525438c8c9eb899
Author: Timm Bäder <mail baedert org>
Date:   Thu May 29 12:18:27 2014 +0200

    gtkmodule: Error out on malformed signal definition
    
    Connecting to a signal in a gtk composite template needs both the
    signal's name and a handler function to connect to.

 codegen/valagtkmodule.vala |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/codegen/valagtkmodule.vala b/codegen/valagtkmodule.vala
index b6c9c30..deb0704 100644
--- a/codegen/valagtkmodule.vala
+++ b/codegen/valagtkmodule.vala
@@ -126,7 +126,13 @@ public class Vala.GtkModule : GSignalModule {
                        } else if (current_class != null && current_token == MarkupTokenType.START_ELEMENT && 
reader.name == "signal") {
                                var signal_name = reader.get_attribute ("name");
                                var handler_name = reader.get_attribute ("handler");
+
                                if (current_class != null) {
+                                       if (signal_name == null || handler_name == null) {
+                                               Report.error (node.source_reference, "Invalid signal in ui 
file `%s'".printf (ui_file));
+                                               current_token = reader.read_token (null, null);
+                                               continue;
+                                       }
                                        var sep_idx = signal_name.index_of ("::");
                                        if (sep_idx >= 0) {
                                                // detailed signal, we don't care about the detail


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]