|
Quick Lists
|
|
Bug ID:
|
6630475
|
|
Votes
|
0
|
|
Synopsis
|
Remove dependency between ColorModel/ColorSpace and cmm.dll
|
|
Category
|
java:classes_2d
|
|
Reported Against
|
|
|
Release Fixed
|
6u10(b09)
|
|
State
|
10-Fix Delivered,
Verified,
request for enhancement
|
|
Priority:
|
2-High
|
|
Related Bugs
|
|
|
Submit Date
|
15-NOV-2007
|
|
Description
|
While researching bundle dependencies for jkernel i found out that cmm.dll may be loaded
due to access to its auxilary public static fields.
Here is related stack trace:
at sun.awt.color.CMM.<clinit>(CMM.java:109)
at java.awt.image.ColorModel.isLinearRGBspace(ColorModel.java:1685)
at java.awt.image.DirectColorModel.<init>(DirectColorModel.java:221)
at java.awt.image.BufferedImage.<init>(BufferedImage.java:328)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java:537)
at sun.java2d.d3d.D3DGeneralBlit.Blit(D3DBlitLoops.java:712)
at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:927)
at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:550)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:73)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:998)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:178)
at sun.java2d.SunGraphics2D.copyImage(SunGraphics2D.java:2918)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3056)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3010)
at javax.swing.plaf.metal.MetalBumps.paintIcon(MetalBumps.java:123)
ColorModel.isLinearRGBspace() has following code:
static boolean isLinearRGBspace(ColorSpace cs) {
// Note: CMM.LINEAR_RGBspace will be null if the linear
// RGB space has not been created yet.
return (cs == CMM.LINEAR_RGBspace);
}
If none of CMM methods are used then cmm.dll should not be loaded.
Posted Date : 2007-11-15 19:12:50.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
CMM class has 2 fields that are used as placeholders to share information between
ColorModel and colorSpace classess. They are used in very few places of the code.
Access to these fields requires static initialization to be performed that loads dll.
Porposed solution is to created nested public static class and move these variables
there or move them to separate class.
Posted Date : 2007-11-15 19:12:50.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |