Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2022-03-09 16:19:05 +0000
committerEike Stepper2022-03-09 16:19:05 +0000
commit547423f1449bf17f59e1763bdf3fe3980595138e (patch)
tree544a7f3229231568e0d4c31bed65f046d09a6ccb
parent4d11f17d3f9a9f8df4f39fec01f948cb5d44dbba (diff)
downloadcdo-547423f1449bf17f59e1763bdf3fe3980595138e.tar.gz
cdo-547423f1449bf17f59e1763bdf3fe3980595138e.tar.xz
cdo-547423f1449bf17f59e1763bdf3fe3980595138e.zip
[579165] IndexOutOfBoundsException in CDOObjectImpl.forAllMapAttributes()releases/4.18.0
https://bugs.eclipse.org/bugs/show_bug.cgi?id=579165
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java
index 993b59eed2..34ac3121b2 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java
@@ -459,13 +459,15 @@ public class CDOObjectImpl extends MinimalEStoreEObjectImpl implements InternalC
if (eSettings != null)
{
InternalCDOClassInfo classInfo = cdoClassInfo();
+ EClass eClass = classInfo.getEClass();
+
EStructuralFeature[] persistentMapFeatures = classInfo.getAllPersistentMapFeatures();
int length = persistentMapFeatures.length;
for (int i = 0; i < length; i++)
{
EStructuralFeature feature = persistentMapFeatures[i];
- int featureID = feature.getFeatureID();
+ int featureID = eClass.getFeatureID(feature);
int index = classInfo.getSettingsFeatureIndex(featureID);
CDOStoreEcoreEMap map = (CDOStoreEcoreEMap)eSettings[index];

Back to the top