Browse Source

Update Enumerator version when removing key

disarray2077 4 years ago
parent
commit
ce894beaa9
1 changed files with 9 additions and 0 deletions
  1. 9 0
      BeefLibs/corlib/src/Collections/Dictionary.bf

+ 9 - 0
BeefLibs/corlib/src/Collections/Dictionary.bf

@@ -868,6 +868,9 @@ namespace System.Collections
 			{
 				int_cosize curIdx = mIndex - 1;
 				mDictionary.Remove(mDictionary.mEntries[curIdx].mKey);
+#if VERSION_DICTIONARY
+				mVersion = mDictionary.mVersion;
+#endif
 				mIndex = curIdx;
 			}
 
@@ -1016,6 +1019,9 @@ namespace System.Collections
 			{
 				int_cosize curIdx = mIndex - 1;
 				mDictionary.Remove(mDictionary.mEntries[curIdx].mKey);
+#if VERSION_DICTIONARY
+				mVersion = mDictionary.mVersion;
+#endif
 				mIndex = curIdx;
 			}
 
@@ -1119,6 +1125,9 @@ namespace System.Collections
 			{
 				int_cosize curIdx = mIndex - 1;
 				mDictionary.Remove(mDictionary.mEntries[curIdx].mKey);
+#if VERSION_DICTIONARY
+				mVersion = mDictionary.mVersion;
+#endif
 				mIndex = curIdx;
 			}