remove dangerous instance of double-checked locking

This commit is contained in:
Marc Zwart 2018-03-20 16:01:48 +01:00
parent ea7c75cb52
commit 6debe066f1

View file

@ -45,16 +45,12 @@ public class ArrowBuilder {
* Get the panel where all arrows are being drawn.
* @return
*/
public JPanel getArrowsManagerPanel() {
public synchronized JPanel getArrowsManagerPanel() {
if (arrowsManagerPanel == null) {
synchronized (ArrowBuilder.class) {
if (arrowsManagerPanel == null) {
arrowsManagerPanel = new JPanel();
arrowsManagerPanel.setVisible(true);
arrowsManagerPanel.setOpaque(false);
arrowsManagerPanel.setLayout(null);
}
}
arrowsManagerPanel = new JPanel();
arrowsManagerPanel.setVisible(true);
arrowsManagerPanel.setOpaque(false);
arrowsManagerPanel.setLayout(null);
}
return arrowsManagerPanel;
}