From fc038eda3531d070faeb88cf239154237f245b5a Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Mon, 27 Apr 2026 01:17:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(core/binding):=20=E5=B0=86=20action=5Farg?= =?UTF-8?q?=20=E6=94=B9=E4=B8=BA=E5=80=BC=E7=B1=BB=E5=9E=8B=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E6=82=AC=E7=A9=BA=E6=8C=87=E9=92=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/zdwm/config.h | 2 +- src/config/defaults.c | 2 +- src/config/runtime_config.c | 2 +- src/core/binding.c | 2 +- src/core/binding.h | 4 ++-- src/core/policy.c | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/zdwm/config.h b/include/zdwm/config.h index cc113b5..d495696 100644 --- a/include/zdwm/config.h +++ b/include/zdwm/config.h @@ -111,7 +111,7 @@ typedef struct zdwm_api_t { zdwm_binding_mode_id_t bind_mode, const char *key_sequence, zdwm_action_fn action_fn, - zdwm_action_arg_t *action_arg + zdwm_action_arg_t action_arg ); /** diff --git a/src/config/defaults.c b/src/config/defaults.c index 3313456..a8511cb 100644 --- a/src/config/defaults.c +++ b/src/config/defaults.c @@ -59,7 +59,7 @@ bool config_defaults_build( auto default_mode = api->add_mode(builder, "default"); #define BIND(mode, key, fn, arg) \ - api->bind(builder, mode, key, fn, &(zdwm_action_arg_t)arg) + api->bind(builder, mode, key, fn, (zdwm_action_arg_t)arg) BIND(default_mode, "Mod4+r", spawn, {.str = launcher}); diff --git a/src/config/runtime_config.c b/src/config/runtime_config.c index b6dd74a..def7025 100644 --- a/src/config/runtime_config.c +++ b/src/config/runtime_config.c @@ -161,7 +161,7 @@ static bool runtime_config_bind( zdwm_binding_mode_id_t mode, const char *key, zdwm_action_fn fn, - zdwm_action_arg_t *arg + zdwm_action_arg_t arg ) { return binding_table_add_bind(builder->binding_table, mode, key, fn, arg); } diff --git a/src/core/binding.c b/src/core/binding.c index d472944..96b4c6c 100644 --- a/src/core/binding.c +++ b/src/core/binding.c @@ -167,7 +167,7 @@ bool binding_table_add_bind( zdwm_binding_mode_id_t mode_id, const char *key_sequence, zdwm_action_fn fn, - zdwm_action_arg_t *arg + zdwm_action_arg_t arg ) { binding_mode_t *mode = binding_table_get_mode(table, mode_id); if (!mode) return false; diff --git a/src/core/binding.h b/src/core/binding.h index 91be9fd..dfa4271 100644 --- a/src/core/binding.h +++ b/src/core/binding.h @@ -13,7 +13,7 @@ typedef struct key_binding_t { modifier_mask_t modifiers; keysym_t keysym; zdwm_action_fn *fn; - zdwm_action_arg_t *arg; + zdwm_action_arg_t arg; } key_binding_t; /** @@ -47,7 +47,7 @@ bool binding_table_add_bind( zdwm_binding_mode_id_t mode_id, const char *key_sequence, zdwm_action_fn fn, - zdwm_action_arg_t *arg + zdwm_action_arg_t arg ); /** diff --git a/src/core/policy.c b/src/core/policy.c index 8cc50f0..8752f64 100644 --- a/src/core/policy.c +++ b/src/core/policy.c @@ -27,7 +27,7 @@ static void route_key_press( for (size_t i = 0; i < count; ++i) { auto binding = &bindings[i]; if (binding->modifiers == e->modifiers && binding->keysym == e->keysym) { - binding->fn(action_ctx, binding->arg); + binding->fn(action_ctx, &binding->arg); } } }