< prev index next >

src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m

Print this page

        

*** 131,150 **** // If this property is present we are running SWT snprintf(envVar, sizeof(envVar), "JAVA_STARTED_ON_FIRST_THREAD_%d", getpid()); return getenv(envVar) != NULL; } ! char* SplashGetScaledImageName(const char* jar, const char* file, ! float *scaleFactor) { *scaleFactor = 1; if(isSWTRunning()){ ! return nil; } NSAutoreleasePool *pool = [NSAutoreleasePool new]; - char* scaledFile = nil; __block float screenScaleFactor = 1; [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ // initialize NSApplication and AWT stuff [NSApplicationAWT sharedApplication]; --- 131,150 ---- // If this property is present we are running SWT snprintf(envVar, sizeof(envVar), "JAVA_STARTED_ON_FIRST_THREAD_%d", getpid()); return getenv(envVar) != NULL; } ! jboolean SplashGetScaledImageName(const char* jar, const char* file, ! float *scaleFactor, char *scaledFile, ! const size_t scaledImageLength) { *scaleFactor = 1; if(isSWTRunning()){ ! return JNI_FALSE; } NSAutoreleasePool *pool = [NSAutoreleasePool new]; __block float screenScaleFactor = 1; [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ // initialize NSApplication and AWT stuff [NSApplicationAWT sharedApplication];
*** 168,183 **** [fileName substringFromIndex: dotIndex]]; } if ((fileName2x != nil) && (jar || [[NSFileManager defaultManager] fileExistsAtPath: fileName2x])){ *scaleFactor = 2; ! scaledFile = strdup([fileName2x UTF8String]); } } [pool drain]; ! return scaledFile; } void SplashInitPlatform(Splash * splash) { pthread_mutex_init(&splash->lock, NULL); --- 168,189 ---- [fileName substringFromIndex: dotIndex]]; } if ((fileName2x != nil) && (jar || [[NSFileManager defaultManager] fileExistsAtPath: fileName2x])){ + if (strlen([fileName2x UTF8String]) > scaledImageLength) { + [pool drain]; + return JNI_FALSE; + } *scaleFactor = 2; ! strcpy(scaledFile, [fileName2x UTF8String]); ! [pool drain]; ! return JNI_TRUE; } } [pool drain]; ! return JNI_FALSE; } void SplashInitPlatform(Splash * splash) { pthread_mutex_init(&splash->lock, NULL);
< prev index next >