<AWT Dev> [9] Review request for 8043869 [macosx] java -splash does not honor @2x hi dpi notation for retina support

Kumar Srinivasan kumar.x.srinivasan at oracle.com
Wed Jun 18 14:10:18 UTC 2014


Hi Alexander,

Thanks for making that change in java.c

splashscreen_stubs.c:

<Sorry I should have caught this earlier>
I would change the 0 to NULL as as you have already done on line 89...

64     INVOKE(SplashLoadMemory,0)(pdata, size);
68     INVOKE(SplashLoadFile,0)(filename);

SplashScreen.java:

Is it possible to get a divide by zero here ? I realize you are 
intializing to 1 elsewhere
what happens  if you "read" a zero ? Ex:  What happens if you call 
generateImage(0) in the test ?

  248             float scale = _getScaleFactor(splashPtr);
  249             Rectangle bounds = _getBounds(splashPtr);
  250             if (scale != 1) {
  251                 bounds.setSize((int) (bounds.getWidth() / scale),
  252                         (int) (bounds.getWidth() / scale));
  253             }
  254             return bounds;


Should we have some more validations of the input data ? since these 
items are
being read from a user generated image file.

One last thing, I am assuming you have run all the launcher regressions 
including the SplashScreen tests in
the jdk/test/closed ?

Kumar



On 6/18/2014 6:03 AM, 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 
>>>> <alexandr.scherbatiy at oracle.com> 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 
>>>>>> <alexandr.scherbatiy at oracle.com> 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.
>>>>>>>
>>>>>
>>>>
>>
>



More information about the awt-dev mailing list