Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 246494
Collapse All | Expand All

(-)src/org/eclipse/emf/ecore/util/DelegatingEcoreEList.java (-2 / +3 lines)
Lines 457-468 Link Here
457
        else if (isContainment())
457
        else if (isContainment())
458
        {
458
        {
459
          InternalEObject eObject = (InternalEObject)object;
459
          InternalEObject eObject = (InternalEObject)object;
460
          EObject eContainer = eObject.eContainer();
460
          boolean result =
461
          boolean result =
461
            eObject.eInternalContainer() == owner && 
462
            eContainer == owner && 
462
              (hasNavigableInverse() ? 
463
              (hasNavigableInverse() ? 
463
                 eObject.eContainerFeatureID() == getInverseFeatureID() :
464
                 eObject.eContainerFeatureID() == getInverseFeatureID() :
464
                 InternalEObject.EOPPOSITE_FEATURE_BASE - eObject.eContainerFeatureID() == getFeatureID());
465
                 InternalEObject.EOPPOSITE_FEATURE_BASE - eObject.eContainerFeatureID() == getFeatureID());
465
          if (hasProxies() && !result)
466
          if (hasProxies() && !result && eContainer == null && eObject.eDirectResource() != null)
466
          {
467
          {
467
            for (int i = 0; i < size; ++i)
468
            for (int i = 0; i < size; ++i)
468
            {
469
            {
(-)src/org/eclipse/emf/ecore/util/EcoreEList.java (-2 / +3 lines)
Lines 350-361 Link Here
350
        else if (isContainment())
350
        else if (isContainment())
351
        {
351
        {
352
          InternalEObject eObject = (InternalEObject)object;
352
          InternalEObject eObject = (InternalEObject)object;
353
          EObject eContainer = eObject.eContainer();
353
          boolean result = 
354
          boolean result = 
354
            eObject.eInternalContainer() == owner && 
355
            eContainer == owner && 
355
              (hasNavigableInverse() ? 
356
              (hasNavigableInverse() ? 
356
                 eObject.eBaseStructuralFeatureID(eObject.eContainerFeatureID(), dataClass) == getInverseFeatureID() :
357
                 eObject.eBaseStructuralFeatureID(eObject.eContainerFeatureID(), dataClass) == getInverseFeatureID() :
357
                 InternalEObject.EOPPOSITE_FEATURE_BASE - eObject.eContainerFeatureID() == getFeatureID());
358
                 InternalEObject.EOPPOSITE_FEATURE_BASE - eObject.eContainerFeatureID() == getFeatureID());
358
          if (hasProxies() && !result)
359
          if (hasProxies() && !result && owner== null && eObject.eDirectResource() != null)
359
          {
360
          {
360
            for (int i = 0; i < size; ++i)
361
            for (int i = 0; i < size; ++i)
361
            {
362
            {

Return to bug 246494