Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/TrimBarLayout.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/TrimBarLayout.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/TrimBarLayout.java
index a7c2094205a..baeebb682aa 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/TrimBarLayout.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/TrimBarLayout.java
@@ -8,6 +8,7 @@
* Contributors:
* IBM Corporation - initial API and implementation
* Christian Walther (Indel AG) - Bug 399458: Fix layout overlap in line-wrapped trim bar
+ * Christian Walther (Indel AG) - Bug 389012: Fix division by zero in TrimBarLayout
*******************************************************************************/
package org.eclipse.e4.ui.workbench.renderers.swt;
@@ -233,6 +234,8 @@ public class TrimBarLayout extends Layout {
private void tileLine(TrimLine curLine, Rectangle bounds) {
int curX = bounds.x;
int curY = bounds.y;
+ int remainingExtraSpace = curLine.extraSpace;
+ int remainingSpacerCount = curLine.spacerCount;
for (Control ctrl : curLine.ctrls) {
if (ctrl.isDisposed()) {
continue;
@@ -242,7 +245,7 @@ public class TrimBarLayout extends Layout {
// If its a 'spacer' then add any available 'extra' space to it
if (isSpacer(ctrl)) {
- int extra = curLine.extraSpace / curLine.spacerCount--;
+ int extra = remainingExtraSpace / remainingSpacerCount;
if (horizontal) {
ctrlSize.x += extra;
// leave out 4 pixels at the bottom to avoid overlapping the
@@ -253,8 +256,8 @@ public class TrimBarLayout extends Layout {
ctrl.setBounds(curX, curY, curLine.minor, extra);
}
zeroSize = false;
- curLine.extraSpace -= extra;
- curLine.spacerCount--;
+ remainingExtraSpace -= extra;
+ remainingSpacerCount--;
}
if (horizontal) {

Back to the top