distinguish ModalityState.NON_MODAL from a modality state where all entities have been gc-ed, greenify

This commit is contained in:
peter
2017-05-11 17:43:42 +02:00
parent 88bdc032be
commit 3ae40ca0fa
@@ -27,7 +27,7 @@ import java.util.Collections;
import java.util.List;
public class ModalityStateEx extends ModalityState {
private final WeakList myModalEntities = new WeakList();
private final WeakList<Object> myModalEntities = new WeakList<>();
@SuppressWarnings("unused")
public ModalityStateEx() { } // used by reflection to initialize NON_MODAL
@@ -39,6 +39,7 @@ public class ModalityStateEx extends ModalityState {
private List<Object> getModalEntities() {
ArrayList<Object> result = new ArrayList<>();
for (Object entity : myModalEntities) {
//noinspection UseBulkOperation
result.add(entity);
}
return result;
@@ -71,8 +72,7 @@ public class ModalityStateEx extends ModalityState {
@NonNls
public String toString() {
List<Object> modalEntities = getModalEntities();
return modalEntities.isEmpty() ? "ModalityState.NON_MODAL" : "ModalityState:" + StringUtil.join(modalEntities, ", ");
return this == NON_MODAL ? "ModalityState.NON_MODAL" : "ModalityState:" + StringUtil.join(getModalEntities(), ", ");
}
@Override