[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-2d-dev
Subject: Re: [OpenJDK 2D-Dev] [9] RFR 4987884: PrinterJob carries over some values between calls to print.
From: Prasanta Sadhukhan <prasanta.sadhukhan () oracle ! com>
Date: 2016-09-29 9:51:36
Message-ID: 57ECE158.5050900 () oracle ! com
[Download RAW message or body]
On 9/12/2016 12:33 PM, Prasanta Sadhukhan wrote:
> Hi All,
>
> Updated the spec to clarify that it is expected to use the same
> attribute set passed to print(PrintRequestAttributeSet) if it is
> called before no-args print() method for same PrinterJob.
> http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.01/
>
Updated PrinterJob spec as opposed to inner class RasterPrinterJob so
that javadocs is updated.
http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.02/
Regards
Prasanta
> Regards
> Prasanta
> On 8/29/2016 1:41 PM, Prasanta Sadhukhan wrote:
>> Hi All,
>>
>> If we call
>> -----------------
>> / pageFormat = job.pageDialog(pageFormat);//
>> // pageFormat.setPaper(paper);//
>> // job.setPrintable(p, pageFormat);//
>> ////
>> // try {//
>> // job.printDialog();//
>> // job.print();//
>> // } catch (PrinterException e) {}//
>> /-------------------
>> then these attributes are added
>> Media, OrientationRequested, MediaPrintableArea, Chromaticity,
>> PrinterResolution, Copies, SheetCollate, Sides
>> even if we do not change any fields
>> and PageRanges attribute is added if we change page selection from
>> "All" to "Pages".
>>
>> In light of that, I do not think we can remove PageRanges attribute
>> from no-args print() method as that will remove user selection.
>> Or for that matter, any attributes as those can be set via
>> pageDialog or printDialog.
>>
>> I guess we need to mark this as "Wont fix" . spec also is not clear
>> if we are not supposed to honour any attributes already set, if we
>> call no-args print() method.
>> Any comments?
>>
>> Regards
>> Prasanta
>> On 7/5/2016 10:52 AM, Prasanta Sadhukhan wrote:
>>> Hi All,
>>>
>>> Please review a fix whereby it is seen that the PageRanges attribute
>>> passed to 1st print() call is inadvertently been carried forward to
>>> 2nd print
>>> if some program tries calling in this sequence
>>> ----------
>>> /PrinterJob pj = PrinterJob.getPrinterJob();//
>>> //pj.setPageable(..)//
>>> //pj.print(..)//
>>> //pj.setPageable(..)//
>>> //pj.print(..)
>>> ------------
>>> /
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-4987884/
>>> /webrev: http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.00//
>>>
>>> /This is because no-args print() uses an internal attribute set
>>> which is presumed to carry over information not supplied
>>> by the client directly but created during a call to no-args
>>> printDialog() or during call to setPrintable() called via
>>> setAttributes().
>>> but it apparently seems, we should not be remembering PageRange
>>> attribute between calls to print() as it will result in wrong page
>>> numbers being printed.
>>>
>>> Proposed fix to remove the PageRanges attribute from no-args print()
>>> between print() calls.
>>>
>>> Regards
>>> Prasanta
>>
>
[Attachment #3 (text/html)]
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<br>
<div class="moz-cite-prefix">On 9/12/2016 12:33 PM, Prasanta
Sadhukhan wrote:<br>
</div>
<blockquote cite="mid:57D65324.9040809@oracle.com" type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
Hi All,<br>
<br>
Updated the spec to clarify that it is expected to use the same
attribute set passed to print(PrintRequestAttributeSet) if it is
called before no-args print() method for same PrinterJob.<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Epsadhukhan/4987884/webrev.01/">http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.01/</a><br>
<br>
</blockquote>
Updated PrinterJob spec as opposed to inner class RasterPrinterJob
so that javadocs is updated.<br>
<a class="moz-txt-link-freetext" \
href="http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.02/">http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.02/</a><br>
<br>
Regards<br>
Prasanta<br>
<blockquote cite="mid:57D65324.9040809@oracle.com" type="cite">
Regards<br>
Prasanta<br>
<div class="moz-cite-prefix">On 8/29/2016 1:41 PM, Prasanta
Sadhukhan wrote:<br>
</div>
<blockquote cite="mid:57C3EE2E.3060400@oracle.com" type="cite">
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type">
Hi All,<br>
<br>
If we call <br>
-----------------<br>
<i> pageFormat = job.pageDialog(pageFormat);</i><i><br>
</i><i> pageFormat.setPaper(paper);</i><i><br>
</i><i> job.setPrintable(p, pageFormat);</i><i><br>
</i><i> </i><i><br>
</i><i> try {</i><i><br>
</i><i> job.printDialog();</i><i><br>
</i><i> job.print();</i><i><br>
</i><i> } catch (PrinterException e) {}</i><i><br>
</i>-------------------<br>
then these attributes are added <br>
Media, OrientationRequested, MediaPrintableArea, Chromaticity,
PrinterResolution, Copies, SheetCollate, Sides <br>
even if we do not change any fields<br>
and PageRanges attribute is added if we change page selection
from "All" to "Pages".<br>
<br>
In light of that, I do not think we can remove PageRanges
attribute from no-args print() method as that will remove user
selection.<br>
Or for that matter, any attributes as those can be set via
pageDialog or printDialog.<br>
<br>
I guess we need to mark this as "Wont fix" . spec also is not
clear if we are not supposed to honour any attributes already
set, if we call no-args print() method.<br>
Any comments? <br>
<br>
Regards<br>
Prasanta<br>
<div class="moz-cite-prefix">On 7/5/2016 10:52 AM, Prasanta
Sadhukhan wrote:<br>
</div>
<blockquote cite="mid:577B43FA.5080009@oracle.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=utf-8">
Hi All,<br>
<br>
Please review a fix whereby it is seen that the PageRanges
attribute passed to 1st print() call is inadvertently been
carried forward to 2nd print<br>
if some program tries calling in this sequence<br>
----------<br>
<i>PrinterJob pj = PrinterJob.getPrinterJob();</i><i><br>
</i><i> pj.setPageable(..)</i><i><br>
</i><i> pj.print(..)</i><i><br>
</i><i> pj.setPageable(..)</i><i><br>
</i><i> pj.print(..)<br>
------------<br>
</i><br>
Bug: <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://bugs.openjdk.java.net/browse/JDK-4987884">https://bugs.openjdk.java.net/browse/JDK-4987884</a><i><br>
</i>webrev: <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Epsadhukhan/4987884/webrev.00/">http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.00/</a><i><br>
<br>
</i>This is because no-args print() uses an internal attribute
set which is presumed to carry over information not supplied<br>
by the client directly but created during a call to no-args
printDialog() or during call to setPrintable() called via
setAttributes().<br>
but it apparently seems, we should not be remembering
PageRange attribute between calls to print() as it will result
in wrong page numbers being printed.<br>
<br>
Proposed fix to remove the PageRanges attribute from no-args
print() between print() calls.<br>
<br>
Regards<br>
Prasanta<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic