Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Charles David2016-04-11 09:16:14 +0000
committerPierre-Charles David2016-04-13 09:46:21 +0000
commit7a5b79b6415e87b1bffc071440bf2ce2f679c3b6 (patch)
treee55944e2d787c864ac8e69f3044f4b68019e755d
parentd0ae6abdf7d24a8190259c167c97a5dbdfdf79d3 (diff)
downloadorg.eclipse.sirius-7a5b79b6415e87b1bffc071440bf2ce2f679c3b6.tar.gz
org.eclipse.sirius-7a5b79b6415e87b1bffc071440bf2ce2f679c3b6.tar.xz
org.eclipse.sirius-7a5b79b6415e87b1bffc071440bf2ce2f679c3b6.zip
[442268] Fix potential NPE in SIT.getAspectRatio()
Fix NPE if getAspectRatio() is called on an SVG which failed to render properly, in which case getBufferedImaged() returns null. Bug: 442268 Change-Id: I369027b5e54129f2ff960424cee269c209318b0e Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/svg/SimpleImageTranscoder.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/svg/SimpleImageTranscoder.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/svg/SimpleImageTranscoder.java
index 793ad048ef..7dc1d1261f 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/svg/SimpleImageTranscoder.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/figure/svg/SimpleImageTranscoder.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2008, 2015 Borland Software Corporation and others.
+ * Copyright (c) 2008, 2016 Borland Software Corporation and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -85,12 +85,14 @@ public class SimpleImageTranscoder extends SVGAbstractTranscoder {
public double getAspectRatio() {
if (canvasHeight == -1 || canvasWidth == -1) {
- int width = getBufferedImage().getWidth();
- int height = getBufferedImage().getHeight();
- return (double) width / (double) height;
- } else {
- return (double) canvasWidth / (double) canvasHeight;
+ BufferedImage img = getBufferedImage();
+ if (img != null) {
+ int width = img.getWidth();
+ int height = img.getHeight();
+ return (double) width / (double) height;
+ }
}
+ return (double) canvasWidth / (double) canvasHeight;
}
public void contentChanged() {

Back to the top