From f53816a637d59b9eab45d6d12b8c20ebea231f24 Mon Sep 17 00:00:00 2001
From: Christof Kraus <christof.j.kraus@gmail.com>
Date: Sun, 2 Aug 2020 00:18:23 +0200
Subject: [PATCH] order elements before switching them off

---
 src/Elements/OpalBeamline.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/Elements/OpalBeamline.cpp b/src/Elements/OpalBeamline.cpp
index c5ece25db..054b74f2d 100644
--- a/src/Elements/OpalBeamline.cpp
+++ b/src/Elements/OpalBeamline.cpp
@@ -160,7 +160,11 @@ void OpalBeamline::switchElementsOff(const double &min, ElementBase::ElementType
 }
 
 void OpalBeamline::switchElementsOff() {
-    for(FieldList::iterator flit = elements_m.begin(); flit != elements_m.end(); ++ flit)
+    elements_m.sort([](const ClassicField& a, const ClassicField& b) {
+                        return a.getElement()->getName() < b.getElement()->getName();
+                    });
+
+    for (FieldList::iterator flit = elements_m.begin(); flit != elements_m.end(); ++ flit)
         (*flit).setOff();
 }
 
-- 
GitLab