summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Heidrich <fheidric>2004-05-28 23:30:14 +0000
committerFelipe Heidrich <fheidric>2004-05-28 23:30:14 +0000
commita0c7bf4d373b0d81f9c977400da33321fa95769d (patch)
treee018874012c8ec35c4b131546df8de4708afcc94
parent2f1f3df3d839929b53d790164ab1fa7c6c69708a (diff)
downloadeclipse.platform.swt-3054f.tar.gz
eclipse.platform.swt-3054f.tar.xz
eclipse.platform.swt-3054f.zip
critical bug in motif and emulatedv3054f
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/emulated/textlayout/org/eclipse/swt/graphics/TextLayout.java9
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/TextLayout.java9
2 files changed, 16 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/emulated/textlayout/org/eclipse/swt/graphics/TextLayout.java b/bundles/org.eclipse.swt/Eclipse SWT/emulated/textlayout/org/eclipse/swt/graphics/TextLayout.java
index 60d4abf34d..03d1a9985a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/emulated/textlayout/org/eclipse/swt/graphics/TextLayout.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/emulated/textlayout/org/eclipse/swt/graphics/TextLayout.java
@@ -857,7 +857,14 @@ public int getOffset (int x, int y, int[] trailing) {
}
}
if (x < 0) return lineOffset[line];
- if (x > lineWidth[line]) return lineOffset[line + 1] - 1;
+ if (x > lineWidth[line]) {
+ if (lineOffset[line + 1] > lineOffset[line]) {
+ if (trailing != null) trailing[0] = 1;
+ return lineOffset[line + 1] - 1;
+ }
+ if (trailing != null) trailing[0] = 0;
+ return lineOffset[line + 1];
+ }
StyleItem[] lineRuns = runs[line];
int width = 0;
for (int i = 0; i < lineRuns.length; i++) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/TextLayout.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/TextLayout.java
index e71580d083..a19b9bb769 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/TextLayout.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/TextLayout.java
@@ -892,7 +892,14 @@ public int getOffset (int x, int y, int[] trailing) {
}
}
if (x < 0) return lineOffset[line];
- if (x > lineWidth[line]) return lineOffset[line + 1] - 1;
+ if (x > lineWidth[line]) {
+ if (lineOffset[line + 1] > lineOffset[line]) {
+ if (trailing != null) trailing[0] = 1;
+ return lineOffset[line + 1] - 1;
+ }
+ if (trailing != null) trailing[0] = 0;
+ return lineOffset[line + 1];
+ }
StyleItem[] lineRuns = runs[line];
int width = 0;
for (int i = 0; i < lineRuns.length; i++) {