jdk/src/java.base/share/native/libjli/java.c
changeset 36907 c3d8383e3efb
parent 36511 9d0388c6b336
child 38753 9d4f778eda39
equal deleted inserted replaced
36906:b6c9a99a8f5d 36907:c3d8383e3efb
  2001     const char *file_name = getenv(SPLASH_FILE_ENV_ENTRY);
  2001     const char *file_name = getenv(SPLASH_FILE_ENV_ENTRY);
  2002     int data_size;
  2002     int data_size;
  2003     void *image_data = NULL;
  2003     void *image_data = NULL;
  2004     float scale_factor = 1;
  2004     float scale_factor = 1;
  2005     char *scaled_splash_name = NULL;
  2005     char *scaled_splash_name = NULL;
  2006 
  2006     jboolean isImageScaled = JNI_FALSE;
       
  2007     size_t maxScaledImgNameLength = 0;
  2007     if (file_name == NULL){
  2008     if (file_name == NULL){
  2008         return;
  2009         return;
  2009     }
  2010     }
  2010 
  2011     maxScaledImgNameLength = DoSplashGetScaledImgNameMaxPstfixLen(file_name);
  2011     scaled_splash_name = DoSplashGetScaledImageName(
  2012 
  2012                         jar_name, file_name, &scale_factor);
  2013     scaled_splash_name = JLI_MemAlloc(
       
  2014                             maxScaledImgNameLength * sizeof(char));
       
  2015     isImageScaled = DoSplashGetScaledImageName(jar_name, file_name,
       
  2016                             &scale_factor,
       
  2017                             scaled_splash_name, maxScaledImgNameLength);
  2013     if (jar_name) {
  2018     if (jar_name) {
  2014 
  2019 
  2015         if (scaled_splash_name) {
  2020         if (isImageScaled) {
  2016             image_data = JLI_JarUnpackFile(
  2021             image_data = JLI_JarUnpackFile(
  2017                     jar_name, scaled_splash_name, &data_size);
  2022                     jar_name, scaled_splash_name, &data_size);
  2018         }
  2023         }
  2019 
  2024 
  2020         if (!image_data) {
  2025         if (!image_data) {
  2028             DoSplashLoadMemory(image_data, data_size);
  2033             DoSplashLoadMemory(image_data, data_size);
  2029             JLI_MemFree(image_data);
  2034             JLI_MemFree(image_data);
  2030         }
  2035         }
  2031     } else {
  2036     } else {
  2032         DoSplashInit();
  2037         DoSplashInit();
  2033         if (scaled_splash_name) {
  2038         if (isImageScaled) {
  2034             DoSplashSetScaleFactor(scale_factor);
  2039             DoSplashSetScaleFactor(scale_factor);
  2035             DoSplashLoadFile(scaled_splash_name);
  2040             DoSplashLoadFile(scaled_splash_name);
  2036         } else {
  2041         } else {
  2037             DoSplashLoadFile(file_name);
  2042             DoSplashLoadFile(file_name);
  2038         }
  2043         }
  2039     }
  2044     }
  2040 
  2045     JLI_MemFree(scaled_splash_name);
  2041     if (scaled_splash_name) {
       
  2042         JLI_MemFree(scaled_splash_name);
       
  2043     }
       
  2044 
  2046 
  2045     DoSplashSetFileJarName(file_name, jar_name);
  2047     DoSplashSetFileJarName(file_name, jar_name);
  2046 
  2048 
  2047     /*
  2049     /*
  2048      * Done with all command line processing and potential re-execs so
  2050      * Done with all command line processing and potential re-execs so