diff options
author | Felipe Heidrich <fheidric> | 2008-10-16 19:40:01 +0000 |
---|---|---|
committer | Felipe Heidrich <fheidric> | 2008-10-16 19:40:01 +0000 |
commit | 6e3fbd94b2c15273a851786f1a5dbf4d3548ba4f (patch) | |
tree | e70fc197267ddc89d50aaf597cfafba73ee04c9f /bundles/org.eclipse.swt/Eclipse SWT Custom Widgets | |
parent | 835e16ee699d5e7703467af3a6a75dff9c8f5499 (diff) | |
download | eclipse.platform.swt-6e3fbd94b2c15273a851786f1a5dbf4d3548ba4f.tar.gz eclipse.platform.swt-6e3fbd94b2c15273a851786f1a5dbf4d3548ba4f.tar.xz eclipse.platform.swt-6e3fbd94b2c15273a851786f1a5dbf4d3548ba4f.zip |
fix for Bug 250193 StyledText SetStyleRange not working
style.start and style.length can only the touched when includeRanges == true
note: this bug was actually fixed by the new fix for Bug 212851 date 20081015
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Custom Widgets')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java index 273beaaca5..bb86d5e2a2 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java @@ -627,16 +627,18 @@ StyleRange[] getStyleRanges(int start, int length, boolean includeRanges) { newStyles = new StyleRange[rangeEnd - rangeStart + 1]; System.arraycopy(styles, rangeStart, newStyles, 0, newStyles.length); } - StyleRange style = newStyles[0]; - if (start > style.start) { - if (!includeRanges || ranges == null) newStyles[0] = style = (StyleRange)style.clone(); - style.length = style.start + style.length - start; - style.start = start; - } - style = newStyles[newStyles.length - 1]; - if (end < style.start + style.length - 1) { - if (!includeRanges || ranges == null) newStyles[newStyles.length - 1] = style = (StyleRange)style.clone(); - style.length = end - style.start + 1; + if (includeRanges || ranges == null) { + StyleRange style = newStyles[0]; + if (start > style.start) { + newStyles[0] = style = (StyleRange)style.clone(); + style.length = style.start + style.length - start; + style.start = start; + } + style = newStyles[newStyles.length - 1]; + if (end < style.start + style.length - 1) { + newStyles[newStyles.length - 1] = style = (StyleRange)style.clone(); + style.length = end - style.start + 1; + } } return newStyles; } |