[OpenJDK 2D-Dev] [9] RFR JDK-5049012: PrintToFile option is not disabled for flavors that do not support destination
Phil Race
philip.race at oracle.com
Thu Aug 11 21:29:54 UTC 2016
It appears to me that this fix has caused a regression.
When I bring up this dialog (on Linux) Print To File is always greyed out.
I think somewhere along the line you became we concerned about whether
specific value should grey it out or not that it got lost that is no longer
possible to set this as a user even for SERVICE_FORMATTED.
This is what I was thinking of when I wrote :
>But I think there is still a problem. Now dstSupported is set only if
>the *specific* destination is supported.
Pls verify and file a new bug.
-phil.
On 07/07/2016 04:16 PM, Philip Race wrote:
> Ok .. +1
>
> -phil.
>
> On 7/1/16, 2:23 AM, Prasanta Sadhukhan wrote:
>> Hi Phil,
>>
>> On 6/30/2016 7:50 PM, Philip Race wrote:
>>> 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 ..
>> 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/20160811/7a628867/attachment.html>
More information about the 2d-dev
mailing list