From: Luca Bruno Date: Mon, 6 Jan 2014 10:31:41 +0000 (+0100) Subject: gtktemplate: Handle callbacks for detailed signals X-Git-Tag: 0.23.2~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86bf398bdff96c03ffb34ef0a60d311557db5077;p=thirdparty%2Fvala.git gtktemplate: Handle callbacks for detailed signals Fixes bug 720825 --- diff --git a/codegen/valagtkmodule.vala b/codegen/valagtkmodule.vala index f3c9a3d41..603ec6076 100644 --- a/codegen/valagtkmodule.vala +++ b/codegen/valagtkmodule.vala @@ -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); }