# HG changeset patch # User alexsch # Date 1415966627 -10800 # Node ID b0139e9a4bddcc5805934d1e743cf587f1084457 # Parent 4fa603c72f2f3c34050e2f9cf4d421ca205bb490 8049198: [macosx] Incorrect thread access when showing splash screen Reviewed-by: serb, pchelko diff -r 4fa603c72f2f -r b0139e9a4bdd src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m --- a/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m Fri Nov 14 14:59:10 2014 +0300 +++ b/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m Fri Nov 14 15:03:47 2014 +0300 @@ -45,6 +45,7 @@ #include #include +#import "ThreadUtilities.h" static NSScreen* SplashNSScreen() { @@ -130,8 +131,12 @@ NSAutoreleasePool *pool = [NSAutoreleasePool new]; *scaleFactor = 1; char* scaledFile = nil; - float screenScaleFactor = [SplashNSScreen() backingScaleFactor]; - + __block float screenScaleFactor = 1; + + [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ + screenScaleFactor = [SplashNSScreen() backingScaleFactor]; + }]; + if (screenScaleFactor > 1) { NSString *fileName = [NSString stringWithUTF8String: file]; NSUInteger length = [fileName length];