[OpenJDK 2D-Dev]  Review-request for 6353518: Creation of a WritableRaster with a custom DataBuffer causes erroneous Exception
Sergey.Bylokhov at oracle.com
Wed Mar 9 10:36:15 UTC 2016
Changes for 2d area.(cc)
On 07.03.16 11:20, Ajit Ghaisas wrote:
> Bug : https://bugs.openjdk.java.net/browse/JDK-6353518
> Issue : (Text from bug description)
> An attempt to create a WritableRaster via
> Raster.createWritableRaster(SampleModel sm, DataBuffer db, Point
> location) using a custom DataBuffer causes an erroneous
> Apparently the reason for this bug is that IntegerComponentRaster
> insists on being passed an instance of DataBufferInt rather than just a
> DataBuffer with a DataType of TYPE_INT.
> This is quite annoying since DataBufferInt is declared final and thus
> cannot be extended.
> Fix :
> The last line of Raster.createWritableRaster() method already has a way
> to handle generic case if the input does not match any of the cases in
> switch statements in that method.
> The fact that “ *InterleavedRaster() constructors throw exception if
> DataBuffer passed to them does not match the expected type” was ignored
> This fix adds a check of “DataBuffer type” before creating respective
> *InterleavedRaster() objects.
> It constructs the SunWritableRaster in case DataBuffer type does not
> match any data specific DataBuffer classes (DataBufferByte,
> DataBufferUShort, DataBufferInt)
> Request to review webrev containing this fix :
Best regards, Sergey.
More information about the 2d-dev