0027427: Exception on loading a DE package to Draw
authoranv <anv@opencascade.com>
Mon, 25 Apr 2016 12:29:57 +0000 (15:29 +0300)
committeranv <anv@opencascade.com>
Mon, 25 Apr 2016 12:31:58 +0000 (15:31 +0300)
src/IFSelect/IFSelect_WorkSession.cxx
src/Interface/Interface_Category.cxx

index 439d177..6b7d986 100644 (file)
@@ -2796,7 +2796,7 @@ void IFSelect_WorkSession::SetParams
   Standard_Integer i, nbp = params.Length(), nbu = uselist.Length();
   Handle(IFSelect_ParamEditor) editor = new IFSelect_ParamEditor
     (nbp+nbu+50,"Parameter Editor");
-  for (i = 1; i <= nbp; i ++) {
+  for (i = params.Lower(); i <= params.Upper(); i ++) {
     DeclareAndCast(Interface_TypedValue,val,params.Value(i));
     if (val.IsNull()) continue;
     editor->AddValue(val);
@@ -2808,7 +2808,7 @@ void IFSelect_WorkSession::SetParams
 
 //  On attaque les EditForms partielles
   TColStd_SequenceOfInteger listgen,listload,listsend,listsplit,listread,listwrite;
-  for (i = 1; i <= nbu; i ++) {
+  for (i = uselist.Lower(); i <= uselist.Upper(); i ++) {
     Standard_Integer use = uselist.Value(i);
     switch (use) {
     case 1 : listgen.Append(i);   break;
index 21e4ccc..e7e8fe7 100644 (file)
@@ -90,14 +90,14 @@ Standard_Integer Interface_Category::NbCategories()
 Standard_CString Interface_Category::Name (const Standard_Integer theNum)
 {
   if (theNum < 0) return "";
-  if (theNum < 1 || theNum > theCats().Length()) return unspec;
+  if (theNum < theCats().Lower() || theNum > theCats().Upper()) return unspec;
   return theCats().ChangeValue(theNum).ToCString();
 }
 
 Standard_Integer Interface_Category::Number (const Standard_CString theName)
 {
-  Standard_Integer i, nb = theCats().Length();
-  for (i = 1; i <= nb; i ++) {
+  Standard_Integer i;
+  for (i = theCats().Lower(); i <= theCats().Upper(); i ++) {
     if (theCats().ChangeValue(i).IsEqual(theName)) return i;
   }
   return 0;