Mercurial > hg > shenandoah-preopenjdk-archive > openjdk8 > jdk
changeset 10260:b0139e9a4bdd
8049198: [macosx] Incorrect thread access when showing splash screen
Reviewed-by: serb, pchelko
author | alexsch |
---|---|
date | Fri, 14 Nov 2014 15:03:47 +0300 |
parents | 4fa603c72f2f |
children | 5a29fd30ffaa |
files | src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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 <dlfcn.h> #include <sizecalc.h> +#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];