[OpenJDK 2D-Dev] [9] RFR JDK-5049012: PrintToFile option is not disabled for flavors that do not support destination
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Fri Jul 1 09:23:20 UTC 2016
Hi Phil,
On 6/30/2016 7:50 PM, Philip Race wrote:
> Eh ? Before your change the code was calling
> isAttributeCategorySupported(), not isAttributeValueSupported() 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 ..
Yes, I got that, right immediately after sending the below mail and sent
another email clarifying my misunderstanding.
> 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 ?
Yes, we will grey out the checkbox for malformed url (like
files::/tmp/output.ps) as I found out. Please find modified webrev that
takes care of this problem too:
http://cr.openjdk.java.net/~psadhukhan/5049012/webrev.02/
Regards
Prasanta
> -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/20160701/b047baf8/attachment.html>
More information about the 2d-dev
mailing list