summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp b/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp
index 5adc8daf35..1c3e997769 100644
--- a/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp
@@ -107,16 +107,18 @@ BuildExpression(const std::vector<ciface::Core::DeviceContainer::InputDetection>
for (auto& detection : detections)
{
- // Remove since released inputs.
+ // Remove since-released inputs.
for (auto it = pressed_inputs.begin(); it != pressed_inputs.end();)
{
- if (!((*it)->release_time > detection.press_time))
+ if ((*it)->release_time && (*it)->release_time <= detection.press_time)
{
handle_release();
it = pressed_inputs.erase(it);
}
else
+ {
++it;
+ }
}
handle_press(detection);