[vala/staging: 3/3] signalmodule: Add signal-emitter declaration if needed
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging: 3/3] signalmodule: Add signal-emitter declaration if needed
- Date: Tue, 7 Mar 2017 15:36:32 +0000 (UTC)
commit 05f5f5f9b411f4f07a6f692cb78e7a0bbd8c8292
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Tue Mar 7 16:30:03 2017 +0100
signalmodule: Add signal-emitter declaration if needed
https://bugzilla.gnome.org/show_bug.cgi?id=779609
codegen/valagsignalmodule.vala | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/codegen/valagsignalmodule.vala b/codegen/valagsignalmodule.vala
index 2a1afd0..6e87a42 100644
--- a/codegen/valagsignalmodule.vala
+++ b/codegen/valagsignalmodule.vala
@@ -544,7 +544,16 @@ public class Vala.GSignalModule : GObjectModule {
set_cvalue (expr, ccall);
} else if (get_signal_has_emitter (sig)) {
- var ccall = new CCodeFunctionCall (new CCodeIdentifier ("%s_%s".printf
(get_ccode_lower_case_name (cl), sig.name)));
+ string emitter_func;
+ if (sig.emitter != null) {
+ if (!sig.external_package && expr.source_reference.file !=
sig.source_reference.file) {
+ generate_method_declaration (sig.emitter, cfile);
+ }
+ emitter_func = get_ccode_lower_case_name (sig.emitter);
+ } else {
+ emitter_func = "%s_%s".printf (get_ccode_lower_case_name (cl),
sig.name);
+ }
+ var ccall = new CCodeFunctionCall (new CCodeIdentifier (emitter_func));
ccall.add_argument (pub_inst);
set_cvalue (expr, ccall);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]