Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Commit

Permalink
Improve event matching logic
Browse files Browse the repository at this point in the history
  • Loading branch information
tokyovigilante committed Dec 15, 2018
1 parent 8f5ec5e commit 282fcd4
Showing 1 changed file with 7 additions and 12 deletions.
19 changes: 7 additions & 12 deletions rootston/switch.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,14 @@ void roots_switch_handle_toggle(struct roots_switch *lid_switch,
wl_list_for_each(sc, bound_switches, link) {
bool device_match = false;
bool state_match = false;
if ((sc->name != NULL && strcmp(event->device->name, sc->name) == 0) ||
(sc->name == NULL && event->switch_type == sc->switch_type)) {
device_match = true;
if ((sc->name != NULL && strcmp(event->device->name, sc->name) != 0) &&
(sc->name == NULL && event->switch_type != sc->switch_type)) {
continue;
}
if (!device_match) {
break;
}
if (sc->switch_state == WLR_SWITCH_STATE_TOGGLE ||
event->switch_state == sc->switch_state) {
state_match = true;
}
if (device_match && state_match) {
execute_binding_command(lid_switch->seat, lid_switch->seat->input, sc->command);
if (sc->switch_state != WLR_SWITCH_STATE_TOGGLE &&
event->switch_state != sc->switch_state) {
continue;
}
execute_binding_command(lid_switch->seat, lid_switch->seat->input, sc->command);
}
}

0 comments on commit 282fcd4

Please sign in to comment.