diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java index 04d7fe38435b..1d5af2d14b62 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java @@ -29,13 +29,10 @@ public class SimpleDataContext implements DataContext { private final Map myDataId2Data; private final DataContext myParent; - private WeakReference myContextComponent; - private SimpleDataContext(String dataId, Object data, DataContext parent) { myDataId2Data = new HashMap(1); myDataId2Data.put(dataId, data); myParent = parent; - myContextComponent = new WeakReference(IdeFocusManager.getGlobalInstance().getFocusOwner()); } private SimpleDataContext(Map dataid2data, DataContext parent) { @@ -48,9 +45,9 @@ public class SimpleDataContext implements DataContext { myParent == null ? null : myParent.getData(dataId); if (result == null && PlatformDataKeys.CONTEXT_COMPONENT.getName().equals(dataId)) { - result = myContextComponent.get(); + result = IdeFocusManager.getGlobalInstance().getFocusOwner(); } - + return result; }