Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/locator/PortPositionLocator.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/locator/PortPositionLocator.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/locator/PortPositionLocator.java
index 6c36aebb84e..5db01469684 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/locator/PortPositionLocator.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/locator/PortPositionLocator.java
@@ -432,12 +432,16 @@ public class PortPositionLocator implements IBorderItemLocator {
// Refresh nodeShape bounds in case of resize
RoundedRectangleNodePlateFigure nodePlateFigure = FigureUtils.findChildFigureInstance(figure, RoundedRectangleNodePlateFigure.class);
- if (figure instanceof RoundedRectangleNodePlateFigure && nodePlateFigure != null) {
- for (Object child : nodePlateFigure.getChildren()) {
- if (child instanceof IFigure) {
- ((IFigure) child).setBounds(rect);
+ if (nodePlateFigure != null){
+ if (figure instanceof RoundedRectangleNodePlateFigure) {
+ for (Object child : nodePlateFigure.getChildren()) {
+ if (child instanceof IFigure) {
+ ((IFigure) child).setBounds(rect);
+ }
}
}
+ // to force the refresh, invalidate coordinates of the parent if refresh him + all children
+ nodePlateFigure.invalidate();
}
}
}

Back to the top