summaryrefslogtreecommitdiff
path: root/implementation/routing/src/routing_manager_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/routing/src/routing_manager_base.cpp')
-rw-r--r--implementation/routing/src/routing_manager_base.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/implementation/routing/src/routing_manager_base.cpp b/implementation/routing/src/routing_manager_base.cpp
index afdf5ae..960ae60 100644
--- a/implementation/routing/src/routing_manager_base.cpp
+++ b/implementation/routing/src/routing_manager_base.cpp
@@ -360,7 +360,10 @@ void routing_manager_base::register_event(client_t _client,
// Check whether all additional bytes (if any) are excluded
for (length_t i = its_min_length; i < its_max_length; i++) {
auto j = its_debounce->ignore_.find(i);
- if (j == its_debounce->ignore_.end() && j->second == 0xFF) {
+ // A change is detected when an additional byte is not
+ // excluded at all or if its exclusion does not cover
+ // all its bits.
+ if (j == its_debounce->ignore_.end() || j->second != 0xFF) {
is_changed = true;
break;
}