jdk/src/share/classes/java/awt/color/ICC_Profile.java
changeset 4238 cf990c80a8c2
parent 4209 e2e5a973b879
child 5506 202f599c92aa
equal deleted inserted replaced
4235:c05c788c4a98 4238:cf990c80a8c2
   863             break;
   863             break;
   864 
   864 
   865         case ColorSpace.CS_PYCC:
   865         case ColorSpace.CS_PYCC:
   866             synchronized(ICC_Profile.class) {
   866             synchronized(ICC_Profile.class) {
   867                 if (PYCCprofile == null) {
   867                 if (PYCCprofile == null) {
   868                     if (!sun.jkernel.DownloadManager.isJREComplete() ||
   868                     if (BootClassLoaderHook.getHook() != null ||
   869                         standardProfileExists("PYCC.pf"))
   869                         standardProfileExists("PYCC.pf"))
   870                     {
   870                     {
   871                         ProfileDeferralInfo pInfo =
   871                         ProfileDeferralInfo pInfo =
   872                             new ProfileDeferralInfo("PYCC.pf",
   872                             new ProfileDeferralInfo("PYCC.pf",
   873                                                     ColorSpace.TYPE_3CLR, 3,
   873                                                     ColorSpace.TYPE_3CLR, 3,
  1833                         fullPath = dir + File.separatorChar + fileName;
  1833                         fullPath = dir + File.separatorChar + fileName;
  1834                     f = new File(fullPath);
  1834                     f = new File(fullPath);
  1835                 }
  1835                 }
  1836             }
  1836             }
  1837 
  1837 
  1838         if (!f.isFile()) { /* try the directory of built-in profiles */
       
  1839             dir = System.getProperty("java.home") +
       
  1840                 File.separatorChar + "lib" + File.separatorChar + "cmm";
       
  1841             fullPath = dir + File.separatorChar + fileName;
       
  1842                 f = new File(fullPath);
       
  1843                 if (!f.isFile()) {
       
  1844                     //make sure file was installed in the kernel mode
       
  1845                     BootClassLoaderHook hook = BootClassLoaderHook.getHook();
       
  1846                     if (hook.getHook() != null) {
       
  1847                         hook.prefetchFile("lib/cmm/"+fileName);
       
  1848                     }
       
  1849                 }
       
  1850             }
       
  1851         if ((f == null) || (!f.isFile())) {
  1838         if ((f == null) || (!f.isFile())) {
  1852             /* try the directory of built-in profiles */
  1839             /* try the directory of built-in profiles */
  1853             f = getStandardProfileFile(fileName);
  1840             f = getStandardProfileFile(fileName);
  1854         }
  1841         }
  1855         if (f != null && f.isFile()) {
  1842         if (f != null && f.isFile()) {
  1869             File.separatorChar + "lib" + File.separatorChar + "cmm";
  1856             File.separatorChar + "lib" + File.separatorChar + "cmm";
  1870         String fullPath = dir + File.separatorChar + fileName;
  1857         String fullPath = dir + File.separatorChar + fileName;
  1871         File f = new File(fullPath);
  1858         File f = new File(fullPath);
  1872         if (!f.isFile()) {
  1859         if (!f.isFile()) {
  1873             //make sure file was installed in the kernel mode
  1860             //make sure file was installed in the kernel mode
  1874             try {
  1861             BootClassLoaderHook hook = BootClassLoaderHook.getHook();
  1875                 //kernel uses platform independent paths =>
  1862             if (hook != null) {
  1876                 //   should not use platform separator char
  1863                 hook.prefetchFile("lib/cmm/"+fileName);
  1877                 sun.jkernel.DownloadManager.downloadFile("lib/cmm/"+fileName);
  1864             }
  1878             } catch (IOException ioe) {}
       
  1879         }
  1865         }
  1880         return (f.isFile() && isChildOf(f, dir)) ? f : null;
  1866         return (f.isFile() && isChildOf(f, dir)) ? f : null;
  1881     }
  1867     }
  1882 
  1868 
  1883     /**
  1869     /**