From 351226f9df1f274729bbe486b70c2caa2e6756bc Mon Sep 17 00:00:00 2001 From: Thomas White Date: Wed, 13 Jan 2016 00:49:10 +0100 Subject: Fix logic for -retry and -multi --- libcrystfel/src/index.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libcrystfel/src/index.c b/libcrystfel/src/index.c index af5b81c7..79fa4c3f 100644 --- a/libcrystfel/src/index.c +++ b/libcrystfel/src/index.c @@ -408,16 +408,22 @@ void index_pattern(struct image *image, int done = 0; int r; int ntry = 0; + int success = 0; do { r = try_indexer(image, indms[n], iprivs[n]); + success += r; ntry++; done = finished_retry(indms[n], r, image); if ( ntry > 5 ) done = 1; } while ( !done ); + /* Stop now if the pattern is indexed (don't try again for more + * crystals with a different indexing method) */ + if ( success ) break; + n++; } -- cgit v1.2.3