From d0a7b5005d31c17973839700fa52ac9628fff86f Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Tue, 24 Oct 2006 15:55:29 +0000 Subject: [PATCH] (Hopefully) a fix for occasional freezing of GUI when plotting many quick results. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@74 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- .../properties/GUIExperiment.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/prism/src/userinterface/properties/GUIExperiment.java b/prism/src/userinterface/properties/GUIExperiment.java index baeaef6d..f55af1e0 100644 --- a/prism/src/userinterface/properties/GUIExperiment.java +++ b/prism/src/userinterface/properties/GUIExperiment.java @@ -53,6 +53,10 @@ public class GUIExperiment private boolean isApmc; + private Values definedMFConstants; + private Values definedPFConstants; + private Object res; + /** Creates a new instance of GUIExperiment */ public GUIExperiment(GUIExperimentTable table, GUIMultiProperties guiProp, PropertiesFile prop, UndefinedConstants cons, ModulesFile mod, String modString, boolean useSimulation) { @@ -223,14 +227,16 @@ public class GUIExperiment { int i, k; boolean clear = true; - Values definedMFConstants = null, definedPFConstants = null; Model model = null; - Object res; PCTLFormula propertyToCheck = propertiesFile.getProperty(0); SimulationInformation info = null; boolean reuseInfo = false, reuseInfoAsked = false; + definedMFConstants = null; + definedPFConstants = null; + res= null; + try { SwingUtilities.invokeAndWait(new Runnable() @@ -429,12 +435,18 @@ public class GUIExperiment res = e; } // store result of model checking - try { - setResult(definedMFConstants, definedPFConstants, res); - } - catch (PrismException e) { - error("Problem storing results"); - } + SwingUtilities.invokeAndWait(new Runnable() + { + public void run() + { + try { + setResult(definedMFConstants, definedPFConstants, res); + } + catch (PrismException e) { + error("Problem storing results"); + } + } + }); table.progressChanged();