<AWT Dev> [OpenJDK 2D-Dev] [9] Review Request: 8074668 [macosx] Mac 10.10: Application run with splash screen has focus issues

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Thu Mar 12 07:32:30 UTC 2015


  The fix looks good to me.

  Thanks,
  Alexandr.

On 3/12/2015 4:46 AM, Sergey Bylokhov wrote:
> 11.03.15 18:40, Sergey Bylokhov wrote:
>> Hello.
>> Please review the fix for jdk 8/9.
>> Lots of issues(hangs or focus lost) occurred after we call 
>> NSScreen.backingScaleFactor on a Appkit Thread in time of splash 
>> screen initialization.
>> This is a regression of two fixes:
>> https://bugs.openjdk.java.net/browse/JDK-8043869
>> https://bugs.openjdk.java.net/browse/JDK-8049198
>> Current issue occures after the second fix.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8074668
>> As a fix I suggest to disable functionality which was added in 
>> JDK-8049198 <https://bugs.openjdk.java.net/browse/JDK-8049198> and 
>> JDK-8043869 <https://bugs.openjdk.java.net/browse/JDK-8043869>. 
>> Because if I try to revert them back I should change more files which 
>> I consider will be danger.
> The fix which broke the splash screen:
> http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/fb3f4212427f
>
> Suggested fix:
> src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m
> @@ -129,15 +129,11 @@
>  char* SplashGetScaledImageName(const char* jar, const char* file,
>                                 float *scaleFactor) {
>      NSAutoreleasePool *pool = [NSAutoreleasePool new];
>      *scaleFactor = 1;
>      char* scaledFile = nil;
> - __block float screenScaleFactor = 1;
> -
> - [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
> - screenScaleFactor = [SplashNSScreen() backingScaleFactor];
> - }];
> + float screenScaleFactor = 1;
>
>      if (screenScaleFactor > 1) {
>          NSString *fileName = [NSString stringWithUTF8String: file];
>          NSUInteger length = [fileName length];
>          NSRange range = [fileName rangeOfString: @"."
>
>> -- 
>> Best regards, Sergey.
>
>
> -- 
> Best regards, Sergey.



More information about the awt-dev mailing list