From 2f2253a8a642edbccdb9ff477fd0f4f0060da283 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 9 Feb 2017 20:42:11 +0100 Subject: Fix multiple control bindings Fixes #1151 --- src/server/ControlBindings.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/server/ControlBindings.hpp') diff --git a/src/server/ControlBindings.hpp b/src/server/ControlBindings.hpp index 538ab3ef..832e36d1 100644 --- a/src/server/ControlBindings.hpp +++ b/src/server/ControlBindings.hpp @@ -53,9 +53,13 @@ public: struct Key { Key(Type t=Type::NULL_CONTROL, int16_t n=0) : type(t), num(n) {} inline bool operator<(const Key& other) const { - return (type == other.type) ? (num < other.num) : (type < other.type); + return ((type < other.type) || + (type == other.type && num < other.num)); } - inline operator bool() const { return type != Type::NULL_CONTROL; } + inline bool operator==(const Key& other) const { + return type == other.type && num == other.num; + } + inline bool operator!() const { return type == Type::NULL_CONTROL; } Type type; int16_t num; }; -- cgit v1.2.1