diff options
Diffstat (limited to 'src/share/classes/sun/awt/SunToolkit.java')
-rw-r--r-- | src/share/classes/sun/awt/SunToolkit.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/share/classes/sun/awt/SunToolkit.java b/src/share/classes/sun/awt/SunToolkit.java index c45938ced..08c3615ae 100644 --- a/src/share/classes/sun/awt/SunToolkit.java +++ b/src/share/classes/sun/awt/SunToolkit.java @@ -851,22 +851,30 @@ public abstract class SunToolkit extends Toolkit private int checkResolutionVariant(Image img, int w, int h, ImageObserver o) { ToolkitImage rvImage = getResolutionVariant(img); + int rvw = getRVSize(w); + int rvh = getRVSize(h); // Ignore the resolution variant in case of error return (rvImage == null || rvImage.hasError()) ? 0xFFFF : - checkImage(rvImage, 2 * w, 2 * h, MultiResolutionToolkitImage. + checkImage(rvImage, rvw, rvh, MultiResolutionToolkitImage. getResolutionVariantObserver( - img, o, w, h, 2 * w, 2 * h)); + img, o, w, h, rvw, rvh, true)); } private boolean prepareResolutionVariant(Image img, int w, int h, ImageObserver o) { ToolkitImage rvImage = getResolutionVariant(img); + int rvw = getRVSize(w); + int rvh = getRVSize(h); // Ignore the resolution variant in case of error return rvImage == null || rvImage.hasError() || prepareImage( - rvImage, 2 * w, 2 * h, + rvImage, rvw, rvh, MultiResolutionToolkitImage.getResolutionVariantObserver( - img, o, w, h, 2 * w, 2 * h)); + img, o, w, h, rvw, rvh, true)); + } + + private static int getRVSize(int size){ + return size == -1 ? -1 : 2 * size; } private static ToolkitImage getResolutionVariant(Image image) { |