From b19e93cc0428fd2afaa25fbd633e2c710e0213cc Mon Sep 17 00:00:00 2001 From: Kp Date: Thu, 10 Nov 2016 04:22:19 +0000 Subject: [PATCH] Skip tracking idx in obj_get_signature --- similar/main/object.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/similar/main/object.cpp b/similar/main/object.cpp index 350a62cb3..a898c16c0 100644 --- a/similar/main/object.cpp +++ b/similar/main/object.cpp @@ -900,15 +900,15 @@ object_signature_t obj_get_signature() { static short sig = 0; // Yes! Short! a) We do not need higher values b) the demo system only stores shorts uint_fast32_t lsig = sig; - for (const auto &&range = make_range(vcobjptridx);;) + for (const auto &&b = vcobjptr.begin(), &&e = vcobjptr.end();;) { if (unlikely(lsig == std::numeric_limits::max())) lsig = 0; ++ lsig; - const auto predicate = [lsig](const vcobjptridx_t &o) { + const auto predicate = [lsig](const vcobjptr_t &o) { return o->type != OBJ_NONE && o->signature.get() == lsig; }; - if (std::find_if(range.begin(), range.end(), predicate) != range.end()) + if (std::find_if(b, e, predicate) != e) continue; sig = static_cast(lsig); return object_signature_t{static_cast(lsig)};