On 5/30/2016 9:55 PM, Sergey Bylokhov wrote:
On 30.05.16 21:48, Alexandr Scherbatiy wrote:
But the patch for the test definitely also can be contributed.
I have loaded it to:
http://cr.openjdk.java.net/~alexsch/robin.stevens/8158178/webrev.00
What about jdk8? It seems it is affected also.
This make sense.
Could you also send the review request for jdk 8 with title "[8]
Review request
for BugID bug summary" with bug id and webrev links and the fix description.
The webrev link for JDK 8 with splash screen fix and the test
updated:
http://cr.openjdk.java.net/~alexsch/robin.stevens/8158178/jdk8/webrev.00
Thanks,
Alexandr.
Could you resend the review request with the title "[9] Review request
for BugID bug summary" and links to bug and webrev to the awt-dev alias?
Thanks,
Alexandr.
On 5/30/2016 8:05 PM, Robin Stevens wrote:
Hello,
the patch for JDK-8043869 (introduced with change
http://cr.openjdk.java.net/~alexsch/8043869/webrev.03/
<http://cr.openjdk.java.net/%7Ealexsch/8043869/webrev.03/>) contains a
bug.
The java.awt.SplashScreen#getSize returns an incorrect height value
when a hi dpi splash screen is shown. There is no bug available yet in
the public JIRA bug tracker, although I submitted a bug report for
this through http://bugs.java.com/ .
The following patch fixes that problem, and updates the test to detect
the problem:
diff --git a/src/share/classes/java/awt/SplashScreen.java
b/src/share/classes/java/awt/SplashScreen.java
--- a/src/share/classes/java/awt/SplashScreen.java
+++ b/src/share/classes/java/awt/SplashScreen.java
@@ -250,7 +250,7 @@
assert scale > 0;
if (scale > 0 && scale != 1) {
bounds.setSize((int) (bounds.getWidth() / scale),
- (int) (bounds.getWidth() / scale));
+ (int) (bounds.getHeight() / scale));
}
return bounds;
}
diff --git
a/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java
b/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java
---
a/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java
+++
b/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java
@@ -93,6 +93,15 @@
int screenX = (int) splashBounds.getCenterX();
int screenY = (int) splashBounds.getCenterY();
+ if(splashBounds.width != IMAGE_WIDTH){
+ throw new RuntimeException(
+ "SplashScreen#getBounds has wrong width");
+ }
+ if(splashBounds.height != IMAGE_HEIGHT){
+ throw new RuntimeException(
+ "SplashScreen#getBounds has wrong height");
+ }
+
Robot robot = new Robot();
Color splashScreenColor = robot.getPixelColor(screenX,
screenY);
Diff was created against this revision:
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/4d6c03fb1039
Note that this is my first contribution. I think I followed all the
guidelines from http://openjdk.java.net/contribute/ . Please let me
know if I did anything wrong.
Kind regards,
Robin