From 7b7f671ed874b82141f3be9d1d071e2e2eaf9cef Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 19 May 2008 15:47:36 +0000 Subject: buffer strategy is now synchronized. --- sources/simulator/VSSimulationPanel.java | 35 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'sources/simulator/VSSimulationPanel.java') diff --git a/sources/simulator/VSSimulationPanel.java b/sources/simulator/VSSimulationPanel.java index 256e72e..8ee8f40 100644 --- a/sources/simulator/VSSimulationPanel.java +++ b/sources/simulator/VSSimulationPanel.java @@ -236,9 +236,11 @@ public class VSSimulationPanel extends Canvas implements Runnable, MouseMotionLi } if (strategy != null) { - //setPreferredSize(new Dimension(simulation.getWidth()-simulation.getSplitSize(),(int)paintSize-20)); - g = (Graphics2D) strategy.getDrawGraphics(); - g.setColor(Color.WHITE); + synchronized (strategy) { + //setPreferredSize(new Dimension(simulation.getWidth()-simulation.getSplitSize(),(int)paintSize-20)); + g = (Graphics2D) strategy.getDrawGraphics(); + g.setColor(Color.WHITE); + } } } @@ -297,23 +299,24 @@ public class VSSimulationPanel extends Canvas implements Runnable, MouseMotionLi } } - g.fillRect(0, 0, getWidth(), getHeight()); - - final long globalTime = time; + synchronized (strategy) { + g.fillRect(0, 0, getWidth(), getHeight()); + final long globalTime = time; - globalTimeXPosition = getTimeXPosition(globalTime); - paintSecondlines(g); - paintProcesses(g, globalTime); - paintGlobalTime(g, globalTime); + globalTimeXPosition = getTimeXPosition(globalTime); + paintSecondlines(g); + paintProcesses(g, globalTime); + paintGlobalTime(g, globalTime); - synchronized (messageLines) { - for (VSMessageLine line : messageLines) - line.draw(g, globalTime); - } + synchronized (messageLines) { + for (VSMessageLine line : messageLines) + line.draw(g, globalTime); + } - g.setColor(Color.WHITE); + g.setColor(Color.WHITE); - strategy.show(); + strategy.show(); + } } private void paintProcesses(Graphics2D g, long globalTime) { -- cgit v1.2.3