]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
gtktemplate: Handle callbacks for detailed signals
authorLuca Bruno <lucabru@src.gnome.org>
Mon, 6 Jan 2014 10:31:41 +0000 (11:31 +0100)
committerLuca Bruno <lucabru@src.gnome.org>
Mon, 6 Jan 2014 10:31:41 +0000 (11:31 +0100)
Fixes bug 720825

codegen/valagtkmodule.vala

index f3c9a3d41e1b56221921570e410b15de12c36eff..603ec6076f98ff8d4bfe0a84c2ff3578d7872093 100644 (file)
@@ -2,7 +2,7 @@
 /* valagtkmodule.vala
  *
  * Copyright (C) 2013  Jürg Billeter
- * Copyright (C) 2013  Luca Bruno
+ * Copyright (C) 2013-2014  Luca Bruno
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -126,7 +126,13 @@ public class Vala.GtkModule : GSignalModule {
                                var signal_name = reader.get_attribute ("name");
                                var handler_name = reader.get_attribute ("handler");
                                if (current_class != null) {
-                                       var sig = SemanticAnalyzer.symbol_lookup_inherited (current_class, signal_name.replace("-", "_")) as Signal;
+                                       var sep_idx = signal_name.index_of ("::");
+                                       if (sep_idx >= 0) {
+                                               // detailed signal, we don't care about the detail
+                                               signal_name = signal_name.substring (0, sep_idx);
+                                       }
+                                       
+                                       var sig = SemanticAnalyzer.symbol_lookup_inherited (current_class, signal_name.replace ("-", "_")) as Signal;
                                        if (sig != null) {
                                                current_handler_to_signal_map.set (handler_name, sig);
                                        }