summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2011-03-22 09:26:26 +0100
committerJan Holesovsky <kendy@suse.cz>2011-03-22 09:26:26 +0100
commitfcb139f694a786908cc5de6cea14fca3f3f1f722 (patch)
tree18c498898dd1792e7c412754f37f7c47f28ebf52
parent7d7de6c92028929362ebc2d00ea82768070fe493 (diff)
parentdbeac89febc7aa5a9d30e67bc41f4d6b730f3fe4 (diff)
Merge commit 'ooo/DEV300_m103'
-rw-r--r--lucene/long_path.patch37
-rw-r--r--lucene/makefile.mk7
-rwxr-xr-xrhino/makefile.mk3
-rw-r--r--rhino/rhino1_5R5-updateToolTip.patch23
4 files changed, 68 insertions, 2 deletions
diff --git a/lucene/long_path.patch b/lucene/long_path.patch
new file mode 100644
index 0000000..d3ab8e3
--- /dev/null
+++ b/lucene/long_path.patch
@@ -0,0 +1,37 @@
+--- misc/lucene-2.3.2/src/java/org/apache/lucene/store/FSDirectory.java 2008-05-01 22:27:58.000000000 +0200
++++ misc/build/lucene-2.3.2/src/java/org/apache/lucene/store/FSDirectory.java 2011-02-23 16:36:26.249515000 +0100
+@@ -165,7 +165,15 @@
+ public static FSDirectory getDirectory(File file, LockFactory lockFactory)
+ throws IOException
+ {
+- file = new File(file.getCanonicalPath());
++ String path = file.getPath();
++ //File.getCanonicalPath fails on Windows with long path names
++ //Tested with Java SE 6u23
++ //Long path names created by osl_getSystemPathFromFileURL are already
++ //unique because its implementation replaces the occurrences of .. and .
++ //That is using the com.sun.star.help.HelpIndexer service from c++ is
++ //relatively safe.
++ if (!path.startsWith("\\\\?\\"))
++ file = new File(file.getCanonicalPath());
+
+ if (file.exists() && !file.isDirectory())
+ throw new IOException(file + " not a directory");
+@@ -455,7 +463,16 @@
+ public String getLockID() {
+ String dirName; // name to be hashed
+ try {
+- dirName = directory.getCanonicalPath();
++ //File.getCanonicalPath fails on Windows with long path names
++ //Tested with Java SE 6u23
++ //Long path names created by osl_getSystemPathFromFileURL are already
++ //unique because its implementation replaces the occurrences of .. and .
++ //That is using the com.sun.star.help.HelpIndexer service from c++ is
++ //relatively safe.
++ if (!directory.getPath().startsWith("\\\\?\\"))
++ dirName = directory.getCanonicalPath();
++ else
++ dirName = directory.getPath();
+ } catch (IOException e) {
+ throw new RuntimeException(e.toString(), e);
+ }
diff --git a/lucene/makefile.mk b/lucene/makefile.mk
index 3ce8f05..98fab3f 100644
--- a/lucene/makefile.mk
+++ b/lucene/makefile.mk
@@ -50,7 +50,12 @@ LUCENE_ANALYZERS_JAR=lucene-analyzers-$(LUCENE_MAJOR).$(LUCENE_MINOR).jar
TARFILE_NAME=$(LUCENE_NAME)
TARFILE_MD5=48d8169acc35f97e05d8dcdfd45be7f2
-PATCH_FILES=lucene.patch
+PATCH_FILES=lucene.patch
+
+.IF "$(OS)" == "WNT"
+PATCH_FILES+= long_path.patch
+.ENDIF
+
BUILD_DIR=.
BUILD_ACTION= ${ANT} -buildfile .$/contrib$/analyzers$/build.xml
diff --git a/rhino/makefile.mk b/rhino/makefile.mk
index 9f42ca2..094e110 100755
--- a/rhino/makefile.mk
+++ b/rhino/makefile.mk
@@ -46,7 +46,8 @@ ADDITIONAL_FILES= \
toolsrc/org/mozilla/javascript/tools/debugger/OfficeScriptInfo.java
PATCH_FILES=rhino1_5R5.patch \
- rhino1_5R5-find_swing.patch
+ rhino1_5R5-find_swing.patch \
+ rhino1_5R5-updateToolTip.patch
.IF "$(JAVACISGCJ)"=="yes"
JAVA_HOME=
diff --git a/rhino/rhino1_5R5-updateToolTip.patch b/rhino/rhino1_5R5-updateToolTip.patch
new file mode 100644
index 0000000..16857d3
--- /dev/null
+++ b/rhino/rhino1_5R5-updateToolTip.patch
@@ -0,0 +1,23 @@
+--- misc/rhino1_5R5/toolsrc/org/mozilla/javascript/tools/debugger/Main.java Wed Feb 23 10:25:09 2011
++++ misc/build/rhino1_5R5/toolsrc/org/mozilla/javascript/tools/debugger/Main.java Wed Feb 23 10:25:01 2011
+@@ -1045,9 +1045,18 @@
+ } );
+ }
+
++ // Fix taken from <ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip>
++ // toolsrc/org/mozilla/javascript/tools/debugger/SwingGui.java:
+ private void updateToolTip() {
+- // in case fileName is very long, try to set tool tip on frame
+- Component c = getComponent(1);
++ // Try to set tool tip on frame. On Mac OS X 10.5,
++ // the number of components is different, so try to be safe.
++ int n = getComponentCount() - 1;
++ if (n > 1) {
++ n = 1;
++ } else if (n < 0) {
++ return;
++ }
++ Component c = getComponent(n);
+ // this will work at least for Metal L&F
+ if (c != null && c instanceof JComponent) {
+ ((JComponent)c).setToolTipText(getUrl());