Bug 528405 - ArithmeticException in ShapeXYLayoutEditPolicy.getSnapValue
* Add check for 0 before trying to divide
Change-Id: I4bfe325cf1b4f32bb4110e0b87bdf7ddd6c98d49
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/ShapeXYLayoutEditPolicy.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/ShapeXYLayoutEditPolicy.java
index 959e465..480fdb7 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/ShapeXYLayoutEditPolicy.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/ShapeXYLayoutEditPolicy.java
@@ -1,7 +1,7 @@
/*******************************************************************************
* <copyright>
*
- * Copyright (c) 2005, 2016 SAP AG.
+ * Copyright (c) 2005, 2017 SAP AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -18,6 +18,7 @@
* mgorning - Bug 383512 - Moving (Resizing) Problem - Polyline/Polygon on first level
* pjpaulin - Bug 352120 - Now uses IDiagramContainerUI interface
* mwenz - Bug 496822 - NullPointerException in ShapeXYLayoutEditPolicy.getMoveConnectionDecoratorCommand
+ * mwenz - Bug 528405 - ArithmeticException in ShapeXYLayoutEditPolicy.getSnapValue
*
* </copyright>
*
@@ -543,10 +544,12 @@
boolean snapToGrid = (Boolean) viewer.getProperty(SnapToGrid.PROPERTY_GRID_ENABLED);
if (gridVisible && snapToGrid) {
Dimension dimension = (Dimension) viewer.getProperty(SnapToGrid.PROPERTY_GRID_SPACING);
- int snappedX = getSnapValue(ctx.getX(), dimension.width);
- int snappedY = getSnapValue(ctx.getY(), dimension.height);
- ctx.setX(snappedX);
- ctx.setY(snappedY);
+ if (dimension.width != 0 && dimension.height != 0) {
+ int snappedX = getSnapValue(ctx.getX(), dimension.width);
+ int snappedY = getSnapValue(ctx.getY(), dimension.height);
+ ctx.setX(snappedX);
+ ctx.setY(snappedY);
+ }
}
}