From f58b91a9b264c757c90f79b654c915e449589c0f Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 25 Feb 2016 15:52:08 +1000 Subject: [PATCH] When setting a button action, update our internal state on success Signed-off-by: Peter Hutterer Signed-off-by: Benjamin Tissoires --- src/libratbag.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libratbag.c b/src/libratbag.c index bff636a1..573b094c 100644 --- a/src/libratbag.c +++ b/src/libratbag.c @@ -952,6 +952,9 @@ ratbag_button_set_button(struct ratbag_button *button, unsigned int btn) rc = button->profile->device->driver->write_button(button, &action); + if (rc == 0) + button->action = action; + return rc; } @@ -981,6 +984,9 @@ ratbag_button_set_special(struct ratbag_button *button, rc = button->profile->device->driver->write_button(button, &action); + if (rc == 0) + button->action = action; + return rc; } @@ -1017,6 +1023,9 @@ ratbag_button_set_key(struct ratbag_button *button, action.action.key.key = key; rc = button->profile->device->driver->write_button(button, &action); + if (rc == 0) + button->action = action; + return rc; } @@ -1032,6 +1041,9 @@ ratbag_button_disable(struct ratbag_button *button) action.type = RATBAG_BUTTON_ACTION_TYPE_NONE; rc = button->profile->device->driver->write_button(button, &action); + if (rc == 0) + button->action = action; + return rc; }