X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Ftechtype%2Ftable%2FTechTypeTable.java;fp=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Ftechtype%2Ftable%2FTechTypeTable.java;h=b18e10c8d63f50c8971ef2fd90150ae783b37e69;hb=85f9ed92b6332c3e539d9736d1536d5714444d69;hp=a8db44c789200fb8015596916ade28ed8283e9fa;hpb=3424ba8b4dd8e368badce8515bca96a99be518f4;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/techtype/table/TechTypeTable.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/techtype/table/TechTypeTable.java index a8db44c7..b18e10c8 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/techtype/table/TechTypeTable.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/techtype/table/TechTypeTable.java @@ -325,7 +325,7 @@ public class TechTypeTable extends Composite { LOGGER.error("Failed to read possible tech type key name for {}", componentType, e); } } - return keyName.startsWith("_") ? keyName.substring(1) : keyName; + return keyName != null && keyName.startsWith("_") ? keyName.substring(1) : keyName; } @Override @@ -340,8 +340,10 @@ public class TechTypeTable extends Composite { this.componentType = componentType; this.keyName = getKeyColumnName(componentType); - - Simantics.getSession().asyncRequest(new TableDataRequest(componentType), new TableDataListener(componentType)); + + if (componentType != null) { + Simantics.getSession().asyncRequest(new TableDataRequest(componentType), new TableDataListener(componentType)); + } } private final class TableDataListener implements Listener>> { @@ -354,6 +356,9 @@ public class TechTypeTable extends Composite { @Override public void execute(Triple> result) { TechTypeTable.this.getDisplay().asyncExec(() -> { + if (isDisposed() || result == null) + return; + TechTypeTable.this.tableResource = result.first; String data = result.second; int[] enabled = result.third.stream().mapToInt(Integer::intValue).toArray();