X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FdiagramEditor%2FDiagramViewer.java;h=409aecbea26dc04ef73d9851b5fa31f9eb0eb234;hb=0b4ab685b0aa54ba8fbe0a5742e27726c862cfd9;hp=a0f504030675d1b9129a6548550ef524b8f762fe;hpb=55d1e6f63df516019032ebf0c1e9c8c0495a619d;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewer.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewer.java index a0f504030..409aecbea 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewer.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewer.java @@ -236,6 +236,7 @@ public class DiagramViewer protected GridSnapAdvisor snapAdvisor; private RuntimeDiagramManager runtimeDiagramManager; + private Resource runtimeDiagramResourceCache; private HasDiagramSourceListener hasDiagramSourceListener; /** @@ -245,11 +246,18 @@ public class DiagramViewer */ protected WorkbenchSelectionProvider selectionProvider; - public Resource getRuntime() { + protected Resource getRuntimeFromManager() { RuntimeDiagramManager rtdm = runtimeDiagramManager; return (rtdm == null) ? null : rtdm.getRuntimeDiagram(); } + public Resource getRuntime() { + if (runtimeDiagramResourceCache != null) + return runtimeDiagramResourceCache; + runtimeDiagramResourceCache = getRuntimeFromManager(); + return runtimeDiagramResourceCache; + } + public ParametrizedRead getInputValidator() { return INPUT_VALIDATOR; }