diff options
| author | Pierre-Charles David | 2016-04-11 09:16:14 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2016-04-13 09:46:21 +0000 |
| commit | 7a5b79b6415e87b1bffc071440bf2ce2f679c3b6 (patch) | |
| tree | e55944e2d787c864ac8e69f3044f4b68019e755d | |
| parent | d0ae6abdf7d24a8190259c167c97a5dbdfdf79d3 (diff) | |
| download | org.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.java | 14 |
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() { |
