From 4547d2d2910cf32a15420670ebdb4d5804b92133 Mon Sep 17 00:00:00 2001 From: Federico Bond Date: Sun, 24 Aug 2014 21:30:43 -0300 Subject: [PATCH] Initialize the ColorSelector tool on demand --- .../processing/app/tools/ColorSelector.java | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/app/src/processing/app/tools/ColorSelector.java b/app/src/processing/app/tools/ColorSelector.java index 59cce7760..f3bf693f7 100644 --- a/app/src/processing/app/tools/ColorSelector.java +++ b/app/src/processing/app/tools/ColorSelector.java @@ -45,6 +45,8 @@ public class ColorSelector implements Tool { */ static ColorChooser selector; + private Editor editor; + public String getMenuTitle() { return Language.text("menu.tools.color_selector"); @@ -52,24 +54,26 @@ public class ColorSelector implements Tool { public void init(Editor editor) { - - // Language.text("color_selector") - - if (selector == null) { - selector = new ColorChooser(editor, false, Color.WHITE, - "Copy", new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - Clipboard clipboard = Toolkit.getSystemClipboard(); - clipboard.setContents(new StringSelection(selector.getHexColor()), null); - } - }); - } + this.editor = editor; } public void run() { + if (selector == null) { + synchronized(ColorSelector.class) { + if (selector == null) { + selector = new ColorChooser(editor, false, Color.WHITE, + "Copy", new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + Clipboard clipboard = Toolkit.getSystemClipboard(); + clipboard.setContents(new StringSelection(selector.getHexColor()), null); + } + }); + } + } + } selector.show(); } }