summaryrefslogtreecommitdiff
path: root/codegen/valagsignalmodule.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-11-01 14:24:09 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2021-11-01 14:32:05 +0100
commit8152d9144c337925688bfd10d277fa167e913472 (patch)
treee747afa7cb802242b31338e40ecb72450c0b113b /codegen/valagsignalmodule.vala
parentb9df26bcf3d8f6884f14dcc33a1a9d891916ac9d (diff)
downloadvala-8152d9144c337925688bfd10d277fa167e913472.tar.gz
codegen: Stop generating wrappers for dynamic signal connections
Diffstat (limited to 'codegen/valagsignalmodule.vala')
-rw-r--r--codegen/valagsignalmodule.vala25
1 files changed, 9 insertions, 16 deletions
diff --git a/codegen/valagsignalmodule.vala b/codegen/valagsignalmodule.vala
index 00413173e..cfd4a5da8 100644
--- a/codegen/valagsignalmodule.vala
+++ b/codegen/valagsignalmodule.vala
@@ -611,25 +611,19 @@ public class Vala.GSignalModule : GObjectModule {
if (!disconnect) {
// connect
- if (sig is DynamicSignal) {
- if (!after)
- connect_func = get_dynamic_signal_connect_wrapper_name ((DynamicSignal) sig);
- else
- connect_func = get_dynamic_signal_connect_after_wrapper_name ((DynamicSignal) sig);
+ if (!(sig is DynamicSignal) && ((m != null && m.closure) || (dt != null && dt.value_owned))) {
+ connect_func = "g_signal_connect_data";
+ } else if (m != null && in_gobject_instance (m)) {
+ connect_func = "g_signal_connect_object";
+ } else if (!after) {
+ connect_func = "g_signal_connect";
} else {
- if ((m != null && m.closure) || (dt != null && dt.value_owned)) {
- connect_func = "g_signal_connect_data";
- } else if (m != null && in_gobject_instance (m)) {
- connect_func = "g_signal_connect_object";
- } else if (!after) {
- connect_func = "g_signal_connect";
- } else
- connect_func = "g_signal_connect_after";
+ connect_func = "g_signal_connect_after";
}
} else {
// disconnect
if (sig is DynamicSignal) {
- connect_func = get_dynamic_signal_disconnect_wrapper_name ((DynamicSignal) sig);
+ connect_func = "VALA_UNSUPPORTED";
} else {
connect_func = "g_signal_handlers_disconnect_matched";
}
@@ -742,8 +736,7 @@ public class Vala.GSignalModule : GObjectModule {
} else if (handler is LambdaExpression) {
ccall.add_argument (get_this_cexpression ());
}
- if (!disconnect && !(sig is DynamicSignal)
- && in_gobject_instance (m)) {
+ if (!disconnect && in_gobject_instance (m)) {
// g_signal_connect_object
// fifth argument: connect_flags