mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-22 03:54:33 +02:00
6918065: Crash in Java2D blit loop (IntArgbToIntArgbPreSrcOverMaskBlit) in 64bit mode
Reviewed-by: igor, bae
This commit is contained in:
parent
d500623121
commit
9e32d0d9d1
2 changed files with 28 additions and 5 deletions
|
@ -614,14 +614,15 @@ public final class AlphaComposite implements Composite {
|
||||||
}
|
}
|
||||||
|
|
||||||
private AlphaComposite(int rule, float alpha) {
|
private AlphaComposite(int rule, float alpha) {
|
||||||
if (alpha < 0.0f || alpha > 1.0f) {
|
|
||||||
throw new IllegalArgumentException("alpha value out of range");
|
|
||||||
}
|
|
||||||
if (rule < MIN_RULE || rule > MAX_RULE) {
|
if (rule < MIN_RULE || rule > MAX_RULE) {
|
||||||
throw new IllegalArgumentException("unknown composite rule");
|
throw new IllegalArgumentException("unknown composite rule");
|
||||||
}
|
}
|
||||||
this.rule = rule;
|
if (alpha >= 0.0f && alpha <= 1.0f) {
|
||||||
this.extraAlpha = alpha;
|
this.rule = rule;
|
||||||
|
this.extraAlpha = alpha;
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("alpha value out of range");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* @test
|
||||||
|
* @bug 6918065
|
||||||
|
* @summary Test for passing NaN as alpha
|
||||||
|
* should throw IllegalArgumentException
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
public class TestAlphaCompositeForNaN {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
try {
|
||||||
|
AlphaComposite a = AlphaComposite.getInstance(AlphaComposite.DST, Float.NaN);
|
||||||
|
System.out.println("Failed");
|
||||||
|
throw new RuntimeException(a + " failed to throw IllegalArgumentException for alpha = " + Float.NaN);
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException ie) {
|
||||||
|
System.out.println("Passed");
|
||||||
|
System.out.println("Caught " + ie);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue