--- old/src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m 2016-08-22 12:49:34.517724320 +0530 +++ new/src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m 2016-08-22 12:49:34.285724320 +0530 @@ -134,8 +134,8 @@ } jboolean SplashGetScaledImageName(const char* jar, const char* file, - float *scaleFactor, char *scaledFile, - const size_t scaledImageLength) { + float *scaleFactor, char *scaledFile, + const size_t scaledImageLength) { *scaleFactor = 1; if(isSWTRunning()){ @@ -158,18 +158,14 @@ options:NSBackwardsSearch]; NSUInteger dotIndex = range.location; NSString *fileName2x = nil; - - if (dotIndex == NSNotFound) { - fileName2x = [fileName stringByAppendingString: @"@2x"]; - } else { - fileName2x = [fileName substringToIndex: dotIndex]; - fileName2x = [fileName2x stringByAppendingString: @"@2x"]; - fileName2x = [fileName2x stringByAppendingString: - [fileName substringFromIndex: dotIndex]]; + + fileName2x = findScaledImageName(fileName, dotIndex, @"@2x"); + if(![[NSFileManager defaultManager] + fileExistsAtPath: fileName2x]) { + fileName2x = findScaledImageName(fileName, dotIndex, @"@200pct"); } - - if ((fileName2x != nil) && (jar || [[NSFileManager defaultManager] - fileExistsAtPath: fileName2x])){ + if (jar || [[NSFileManager defaultManager] + fileExistsAtPath: fileName2x]){ if (strlen([fileName2x UTF8String]) > scaledImageLength) { [pool drain]; return JNI_FALSE; @@ -458,3 +454,16 @@ sendctl(splash, SPLASHCTL_RECONFIGURE); } +NSString* findScaledImageName(NSString *fileName, NSUInteger dotIndex, NSString *strToAppend) { + NSString *fileName2x = nil; + if (dotIndex == NSNotFound) { + fileName2x = [fileName stringByAppendingString: strToAppend]; + } else { + fileName2x = [fileName substringToIndex: dotIndex]; + fileName2x = [fileName2x stringByAppendingString: strToAppend]; + fileName2x = [fileName2x stringByAppendingString: + [fileName substringFromIndex: dotIndex]]; + } + return fileName2x; +} +