This is an automated email from the git hooks/post-receive script. pini pushed a commit to tag upstream/1.1.0_beta1 in repository sikuli.
commit 61d8b7cf2b332ecb7158ec5ddb687fec7ebbac48 Author: Raimund Hocke <[email protected]> Date: Wed Jan 29 20:28:41 2014 +0100 modified the OSUtil lib handling to assure preload in any case --- API/src/main/java/org/sikuli/script/App.java | 7 ++++++- .../src/main/java/org/sikuli/basics/ResourceLoader.java | 4 ++-- .../org/sikuli/basics/{SysUtil.java => SysJNA.java} | 2 +- Natives/src/main/java/org/sikuli/natives/LinuxUtil.java | 6 ++++++ Natives/src/main/java/org/sikuli/natives/MacUtil.java | 17 +++++++---------- Natives/src/main/java/org/sikuli/natives/OSUtil.java | 4 +++- Natives/src/main/java/org/sikuli/natives/WinUtil.java | 11 ++++------- 7 files changed, 29 insertions(+), 22 deletions(-) diff --git a/API/src/main/java/org/sikuli/script/App.java b/API/src/main/java/org/sikuli/script/App.java index a9c416c..7a7566d 100755 --- a/API/src/main/java/org/sikuli/script/App.java +++ b/API/src/main/java/org/sikuli/script/App.java @@ -21,6 +21,7 @@ import java.io.Reader; import java.io.StringReader; import java.nio.ByteBuffer; import java.nio.CharBuffer; +import org.sikuli.basics.FileManager; import org.sikuli.natives.OSUtil; import org.sikuli.natives.SysUtil; @@ -33,8 +34,12 @@ public class App { static { //TODO Sikuli hangs if App is used before Screen new Screen(); + String libName = _osUtil.getLibName(); + if (!libName.isEmpty()) { + FileManager.loadLibrary(libName); + } } - + private static Region asRegion(Rectangle r) { if (r != null) { return Region.create(r); diff --git a/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java b/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java index 97b48a2..910cdc9 100755 --- a/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java +++ b/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java @@ -433,14 +433,14 @@ public class ResourceLoader implements IResourceLoader { log(lvl, path); if (!Settings.runningSetup && Settings.isWindows()) { // is on system path? - String syspath = SysUtil.WinKernel32.getEnvironmentVariable("PATH"); + String syspath = SysJNA.WinKernel32.getEnvironmentVariable("PATH"); if (syspath == null) { SikuliX.terminate(1); } else { path = (new File(path).getAbsolutePath()).replaceAll("/", "\\"); if (!syspath.toUpperCase().contains(path.toUpperCase())) { log(lvl, "Adding libs dir to path: " + path); - if (!SysUtil.WinKernel32.setEnvironmentVariable("PATH", syspath + ";" + path)) { + if (!SysJNA.WinKernel32.setEnvironmentVariable("PATH", syspath + ";" + path)) { SikuliX.terminate(1); } } diff --git a/Basics/src/main/java/org/sikuli/basics/SysUtil.java b/Basics/src/main/java/org/sikuli/basics/SysJNA.java similarity index 99% rename from Basics/src/main/java/org/sikuli/basics/SysUtil.java rename to Basics/src/main/java/org/sikuli/basics/SysJNA.java index dfd32bb..3caa521 100644 --- a/Basics/src/main/java/org/sikuli/basics/SysUtil.java +++ b/Basics/src/main/java/org/sikuli/basics/SysJNA.java @@ -7,7 +7,7 @@ import org.bridj.ann.Library; /** * Direct access to system functions via JNI, JNA, BridJ, ... */ -public class SysUtil { +public class SysJNA { /** * Direct access to Windows API kernel32.dll via BridJ */ diff --git a/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java b/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java index bae0d4f..2c3c348 100644 --- a/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java +++ b/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java @@ -6,12 +6,18 @@ */ package org.sikuli.natives; +import org.sikuli.natives.OSUtil; import java.awt.Rectangle; import java.awt.Window; import java.io.*; public class LinuxUtil implements OSUtil { + @Override + public String getLibName() { + return ""; + } + @Override public int switchApp(String appName, int winNum) { try { diff --git a/Natives/src/main/java/org/sikuli/natives/MacUtil.java b/Natives/src/main/java/org/sikuli/natives/MacUtil.java index 440a914..ee6070f 100644 --- a/Natives/src/main/java/org/sikuli/natives/MacUtil.java +++ b/Natives/src/main/java/org/sikuli/natives/MacUtil.java @@ -6,23 +6,20 @@ */ package org.sikuli.natives; -import org.sikuli.basics.FileManager; - import java.awt.Rectangle; import java.awt.Window; import javax.swing.JOptionPane; public class MacUtil implements OSUtil { - static { - // might already be loaded by Sikuli startup procedures - // leave it here for the cases where startup is not yet done - FileManager.loadLibrary("MacUtil"); - } - private static boolean _askedToEnableAX = false; private String usedFeature; + @Override + public String getLibName() { + return "MacUtil"; + } + @Override public int switchApp(String appName) { return openApp(appName); @@ -107,8 +104,8 @@ public class MacUtil implements OSUtil { } //Mac Mavericks: delete app entry from list - in terminal on one line -//sudo sqlite3 /Library/Application\ Support/com.apple.TCC/Tcc.db -//'delete from access where client like "%part of app name%"' +//sudo sqlite3 /Library/Application\ Support/com.apple.TCC/Tcc.db +//'delete from access where client like "%part of app name%"' @Override public Rectangle getWindow(String appName, int winNum) { diff --git a/Natives/src/main/java/org/sikuli/natives/OSUtil.java b/Natives/src/main/java/org/sikuli/natives/OSUtil.java index 58c06b0..8c86f27 100644 --- a/Natives/src/main/java/org/sikuli/natives/OSUtil.java +++ b/Natives/src/main/java/org/sikuli/natives/OSUtil.java @@ -13,7 +13,9 @@ public interface OSUtil { // Windows: returns PID, 0 if fails // Others: return 0 if succeeds, -1 if fails - public int openApp(String appName); + public String getLibName(); + + public int openApp(String appName); // Windows: returns PID, 0 if fails // Others: return 0 if succeeds, -1 if fails diff --git a/Natives/src/main/java/org/sikuli/natives/WinUtil.java b/Natives/src/main/java/org/sikuli/natives/WinUtil.java index 719430b..31297a3 100644 --- a/Natives/src/main/java/org/sikuli/natives/WinUtil.java +++ b/Natives/src/main/java/org/sikuli/natives/WinUtil.java @@ -6,18 +6,15 @@ */ package org.sikuli.natives; -import org.sikuli.basics.FileManager; - import java.awt.Rectangle; import java.awt.Window; public class WinUtil implements OSUtil { - static { - // might already be loaded by Sikuli startup procedures - // leave it here for the cases where startup is not yet done - FileManager.loadLibrary("WinUtil"); - } + @Override + public String getLibName() { + return "WinUtil"; + } @Override public int switchApp(String appName) { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sikuli.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

