From 1bf0e45f7c2008da6850146379d7f0fcdc21371d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20K=C3=A4berich?= Date: Sat, 13 Nov 2021 19:48:03 +0100 Subject: [PATCH] Prevent crash when attempting to move marker on empty trace --- Software/PC_Application/Traces/Marker/marker.cpp | 3 +++ Software/PC_Application/Traces/Math/tracemath.cpp | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Software/PC_Application/Traces/Marker/marker.cpp b/Software/PC_Application/Traces/Marker/marker.cpp index c39f4b7..0111c05 100644 --- a/Software/PC_Application/Traces/Marker/marker.cpp +++ b/Software/PC_Application/Traces/Marker/marker.cpp @@ -1560,6 +1560,9 @@ bool Marker::isMovable() // helper traces are never movable by the user return false; } + if(trace()->size() == 0) { + return false; + } switch(type) { case Type::Manual: case Type::Delta: diff --git a/Software/PC_Application/Traces/Math/tracemath.cpp b/Software/PC_Application/Traces/Math/tracemath.cpp index 2055c75..59e5695 100644 --- a/Software/PC_Application/Traces/Math/tracemath.cpp +++ b/Software/PC_Application/Traces/Math/tracemath.cpp @@ -84,7 +84,14 @@ TraceMath::TypeInfo TraceMath::getInfo(TraceMath::Type type) TraceMath::Data TraceMath::getSample(unsigned int index) { - return data.at(index); + if(index < data.size()) { + return data[index]; + } else { + TraceMath::Data d; + d.x = 0; + d.y = 0; + return d; + } } double TraceMath::getStepResponse(unsigned int index)