Hi Alexander,

The fix looks good to me overall. One question though, regarding the file name-related logic in splashscreen_sys.m:

 136         NSString *fileName = [NSString stringWithUTF8String: file];
 137         NSUInteger length = [fileName length];
 138         NSRange range = [fileName rangeOfString: @"."
 139                                         options:NSBackwardsSearch];
 140         int index = range.location;
 141
 142         if (index != NSNotFound && index != 0 && index != length-1) {
 143             NSString *fileName2x = [fileName substringToIndex: index];
 144             fileName2x = [fileName2x stringByAppendingString: @"@2x"];
 145             fileName2x = [fileName2x stringByAppendingString:
 146                           [fileName substringFromIndex: index]];
 147
 148             if (jar || [[NSFileManager defaultManager]
 149                           fileExistsAtPath: fileName2x]){

Does this code work well if the image file name doesn't have an extension? There was a related issue in FX and it was fixed with the following changeset:
http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/d202ef8951c9
Please check if your code is ready to handle similar situations.

--
best regards,
Anthony

On 6/18/2014 5:03 PM, Alexander Scherbatiy wrote:

  Hello,

  Could you review the updated fix:
     http://cr.openjdk.java.net/~alexsch/8043869/webrev.02

   - formatting and CR-LF line endings are fixed
   - the condition if (1 < screenScaleFactor) is rewritten in
splashscreen_sys.m file
   - file_name == NULL chec is added in the java.c
   - [NSScreen mainScreen] is changed to SplashNSScreen() in the
SplashGetScaledImageName() from splashscreen_sys.m file

Thanks,
Alexandr.

On 6/17/2014 8:21 PM, Kumar Srinivasan wrote:
Hello,

As Anthony already commented, there are some formatting issues
throughout, please
retain the existing convention and formatting.

src/share/bin/java.c
at 1822, if you add
if (file_name == NULL){
    return;
}
and removing the else, at the bottom we can reduce the indent of the
exist if block.

make/mapfiles/libsplashscreen/mapfile-vers
+1, good to note this, always trips people up.


Otherwise looks good.

Kumar




On 6/17/2014 7:45 AM, Anthony Petrov wrote:
Hi Alexander,

[ I'm also adding Neil who's taking over the launcher code ]

1. There's a few code formatting issues that should be fixed. For
instance:
src/share/bin/java.c
1846             if(scaled_splash_name){
1853         if(scaled_splash_name){

src/windows/native/sun/awt/splashscreen/splashscreen_sys.c
 571     *scaleFactor=1;

In all the above lines required spaces are missing. I believe there's
a number of other occurrences of the same issue in your patch. Please
check it carefully and fix the formatting on all lines.

2. Webrev shows 236 changed lines for java_awt_SplashScreen.c. I
suspect you've changed the EOL characters because you've edited your
code on MS Windows. Please configure your editor to use LF characters
for line ends and revert the unnecessary changes (note that jcheck
won't let you push CR-LF line endings anyway).

3. splashscreen_sys.m
 135     if (1 < screenScaleFactor) {

For consistency and clarity, I'd suggest to rewrite the condition as

    if (screenScaleFactor > 1) {

--
best regards,
Anthony

On 6/17/2014 6:20 PM, Petr Pchelko wrote:
Hello, Alexander.

2. In java.c:1859 DoSplashSetFileJarName sets the name of the file
which was used for a splash. It can be
retrieved via public API SplashScreen.getImageURL. Is it correct
to always set the file_name disregards the real
name we've used?

    Yes. The original splash screen image name and size are
provided for the developer even the high resolution splash screen
is shown.
Thank you for the clarification.

The updated version looks fine to me.

With best regards. Petr.

On 17 июня 2014 г., at 18:16, Alexander Scherbatiy
<[email protected]> wrote:


Hello,

Could you review the updated fix:
  http://cr.openjdk.java.net/~alexsch/8043869/webrev.01/


On 6/17/2014 4:22 PM, Petr Pchelko wrote:
Hello, Alexander.

CCed Kumar as I believe he's the owner of the launcher code.

1. In splashscreen_sys.m you autorelease the fileName. But I do
not see where the autoreleasepool is set up.
Wouldn't it be better to set up an autoreleasepool in this method
explicitly?
     NSAutoreleasePool is added.
2. In java.c:1859 DoSplashSetFileJarName sets the name of the file
which was used for a splash. It can be
retrieved via public API SplashScreen.getImageURL. Is it correct
to always set the file_name disregards the real
name we've used?

    Yes. The original splash screen image name and size are
provided for the developer even the high resolution splash screen
is shown.

    Thanks,
    Alexandr.
Thank you.
With best regards. Petr.

On 17 июня 2014 г., at 15:36, Alexander Scherbatiy
<[email protected]> wrote:

Hello,

Could you review the fix:
  bug: https://bugs.openjdk.java.net/browse/JDK-8043869
  webrev: http://cr.openjdk.java.net/~alexsch/8043869/webrev.00

  The scaleFactor field is added to the Splash struct.
  The SplahsScreen class scales the graphics and the size
according to the scale factor.
  The native system tries to load high resolution splash image on
HiDPI display.

Thanks,
Alexandr.





Reply via email to