Fix crash in auto-separation when all orders removed

This commit is contained in:
Jonathan G Rennison
2021-01-25 01:31:09 +00:00
parent 1838e8939f
commit ac5b0d8017

View File

@@ -629,6 +629,7 @@ static inline bool IsOrderUsableForSeparation(const Order *order)
std::vector<TimetableProgress> PopulateSeparationState(const Vehicle *v_start) std::vector<TimetableProgress> PopulateSeparationState(const Vehicle *v_start)
{ {
std::vector<TimetableProgress> out; std::vector<TimetableProgress> out;
if (v_start->GetNumOrders() == 0) return out;
for (const Vehicle *v = v_start->FirstShared(); v != nullptr; v = v->NextShared()) { for (const Vehicle *v = v_start->FirstShared(); v != nullptr; v = v->NextShared()) {
if (!HasBit(v->vehicle_flags, VF_SEPARATION_ACTIVE)) continue; if (!HasBit(v->vehicle_flags, VF_SEPARATION_ACTIVE)) continue;
bool separation_valid = true; bool separation_valid = true;