[OpenJDK 2D-Dev] [9] RFR JDK-5049012: PrintToFile option is not disabled for flavors that do not support destination
Philip Race
philip.race at oracle.com
Thu Jun 30 14:20:44 UTC 2016
Eh ? Before your change the code was calling
isAttributeCategorySupported(), notisAttributeValueSupported()
So there was not previously a possibility of that NPE, and
my point was now you have changed that call you need that !=null check
even more ..
But I think there is still a problem. Now dstSupported is set only if
the *specific* destination is supported.
A malformed file: URL would not be valid but should not
disable (grey out) the print to file checkbox which
is what it looks like here .. can you verify this ?
-phil
On 6/30/16, 12:45 AM, Prasanta Sadhukhan wrote:
> Hi Phil,
>
> NPE will be thrown
> ----------
> public boolean isAttributeValueSupported(Attribute attr,
> DocFlavor flavor,
> AttributeSet attributes) {
> if (attr == null) {
> throw new NullPointerException("null attribute");
> }
> ---------
> before updateInfo() will be called so I guess null check is redundant
> there. Anyways, I have added the check back just to be safe
> http://cr.openjdk.java.net/~psadhukhan/5049012/webrev.01/
>
> Regards
> Prasanta
> On 6/29/2016 11:59 PM, Philip Race wrote:
>> ---
>> https://docs.oracle.com/javase/8/docs/api/javax/print/PrintService.html#isAttributeValueSupported-javax.print.attribute.Attribute-javax.print.DocFlavor-javax.print.attribute.AttributeSet-
>>
>>
>> Throws:
>> NullPointerException - (unchecked exception) if attrval is null.
>>
>> --
>>
>> So why did you remove the check for null ?
>>
>>
>> -phil.
>>
>> On 6/28/16, 3:04 AM, Prasanta Sadhukhan wrote:
>>> Hi All,
>>>
>>> Please review a fix for an issue where it is seen that
>>> "Print-To-File" option is enabled even for flavors that do not
>>> support Destination attribute
>>> even though isAttributeValueSupported for that flavor returns false.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-5049012
>>> webrev: http://cr.openjdk.java.net/~psadhukhan/5049012/webrev.00/
>>>
>>> The reason for this behaviour is in Print Dialog code, the
>>> validation is done against isAttributeCategorySupported() which
>>> still returns true because Pageable and Printable supports it
>>> and therefore the "Print-to-File" option gets enabled.
>>>
>>> But print dialog is shown specific to a doc flavor and a print
>>> service (selected one) and hence must validate the attribute against
>>> the chosen doc flavor.
>>> So, the proposed fix checks the attributevalue is supported or not
>>> for that flavor to determine if we need to enable "Print-to-File"
>>> option in print dialog.
>>>
>>> Regards
>>> Prasanta
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20160630/fecd56a2/attachment.html>
More information about the 2d-dev
mailing list