diff --git a/src/generate.cpp b/src/generate.cpp index 41066c79..96030bc3 100644 --- a/src/generate.cpp +++ b/src/generate.cpp @@ -57,15 +57,10 @@ bool SolveSpaceUI::PruneOrphans() { bool SolveSpaceUI::GroupsInOrder(hGroup before, hGroup after) { if(before.v == 0) return true; if(after.v == 0) return true; - - int beforep = -1, afterp = -1; - int i; - for(i = 0; i < SK.groupOrder.n; i++) { - hGroup hg = SK.groupOrder.elem[i]; - if(hg.v == before.v) beforep = i; - if(hg.v == after.v) afterp = i; - } - if(beforep < 0 || afterp < 0) return false; + if(!GroupExists(before)) return false; + if(!GroupExists(after)) return false; + int beforep = SK.GetGroup(before)->order; + int afterp = SK.GetGroup(after)->order; if(beforep >= afterp) return false; return true; } diff --git a/src/group.cpp b/src/group.cpp index 2a04d686..c3da08a9 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -44,7 +44,8 @@ void Group::AddParam(IdList *param, hParam hp, double v) { bool Group::IsVisible() { if(!visible) return false; - if(SS.GroupsInOrder(SS.GW.activeGroup, h)) return false; + Group *active = SK.GetGroup(SS.GW.activeGroup); + if(order > active->order) return false; return true; }