diff --git a/IDE/src/main/java/org/sikuli/ide/ButtonCapture.java b/IDE/src/main/java/org/sikuli/ide/ButtonCapture.java index 3023fa7c4..86e2c3f82 100755 --- a/IDE/src/main/java/org/sikuli/ide/ButtonCapture.java +++ b/IDE/src/main/java/org/sikuli/ide/ButtonCapture.java @@ -86,10 +86,17 @@ public void captureWithAutoDelay() { IScreen defaultScreen = null; ScreenImage sImgNonLocal = null; - public void capture(final int delay) { + public void capture(int delay) { String line = ""; SikulixIDE ide = SikulixIDE.get(); - ide.setVisible(false); + if (ide.isVisible()) { + // Set minimum delay if IDE is visible to give + // the IDE some time to vanish before taking the + // screenshot. IDE might already be hidden in + // in case of capture hot key. + delay = Math.max(delay, 500); + ide.setVisible(false); + } EditorPane codePane = ide.getCurrentCodePane(); line = codePane.getLineTextAtCaret(); givenName = codePane.parseLineText("#" + line.trim()); diff --git a/IDE/src/main/java/org/sikuli/ide/EditorRegionButton.java b/IDE/src/main/java/org/sikuli/ide/EditorRegionButton.java index 7f7cb8e60..396c46275 100755 --- a/IDE/src/main/java/org/sikuli/ide/EditorRegionButton.java +++ b/IDE/src/main/java/org/sikuli/ide/EditorRegionButton.java @@ -9,6 +9,7 @@ import javax.swing.*; import org.sikuli.util.OverlayCapturePrompt; import org.sikuli.script.support.IScreen; +import org.sikuli.script.support.RunTime; import org.sikuli.script.Region; import org.sikuli.script.ScreenImage; import org.sikuli.basics.Debug; @@ -38,6 +39,7 @@ public EditorRegionButton(EditorPane pane, int x, int y, int w, int h) { public void actionPerformed(ActionEvent ae) { SikulixIDE ide = SikulixIDE.get(); ide.setVisible(false); + RunTime.pause(0.5f); Screen.doPrompt(SikulixIDE._I("msgCapturePrompt"), this); }