[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] [9] RFR: JDK-8154057, , [macosx] getPrintJob doesn't throw NPE if Frame is null
From:       Jayathirth D V <jayathirth.d.v () oracle ! com>
Date:       2016-04-15 5:24:32
Message-ID: 80761ff2-04fc-4c24-a9c6-79763f553d3a () default
[Download RAW message or body]

Hi Prasanta,

Changes are fine.
Please add your analysis in JBS. Some lines in test case has more than 80 characters, \
please update them before pushing. I have updated the OS and CPU as generic for new \
bug https://bugs.openjdk.java.net/browse/JDK-8154218 since we know it is common \
problem among all platforms.

Thanks,
Jay
-----Original Message-----
From: prasanta sadhukhan 
Sent: Thursday, April 14, 2016 11:00 AM
To: Philip Race
Cc: 2d-dev@openjdk.java.net
Subject: Re: [OpenJDK 2D-Dev] [9] RFR: JDK-8154057, , [macosx] getPrintJob doesn't \
throw NPE if Frame is null AND type is COMMON

Thanks for the review. I have filed a new issue for this non-usage of frame
https://bugs.openjdk.java.net/browse/JDK-8154218

Regards
Prasanta
On 4/13/2016 9:29 PM, Philip Race wrote:
> Ok, so +1 to this fix but file a new bug to track the non-usage of the 
> owner frame.
> 
> -phil.
> 
> On 4/13/16, 1:13 AM, prasanta sadhukhan wrote:
> > Hi Phil,
> > 
> > Yes, it seems code does not use this frame as parent/owner.
> > Actually, xxxToolkit will call initPrintJob2D() after checking for 
> > frame==null, followed by PrintJob2D.printDialog() which will just 
> > store the frame in the attribute if (frame != null) {
> > attributes.add(new DialogOwner(frame));
> > }
> > and then call ServiceUI.printDialog() which just pass null as owner 
> > to ServiceDialog() for now.
> > 
> > // For now we set owner to null. In the future, it may be passed
> > // as an argument.
> > Window owner = null;
> > 
> > dialog = new ServiceDialog(gc,
> > x,
> > y,
> > services, defaultIndex,
> > flavor, attributes,
> > (Dialog)owner); and so this 
> > behaviour is common to all platforms.
> > 
> > I guess we should populate WIndow owner with this frame object.
> > 
> > But since this NPE problem is specific to mac,can we fix this bug 
> > first as the other platforms has same null check code in
> > Toolkit.getPrintJob() and create another bug for this frame usage. 
> > Please let me know your thoughts.
> > 
> > BTW,
> > It was not seen (ie NPE is thrown) for native dialog in mac as in
> > initPrintJob2D() we have this check
> > if (frame == null &&
> > (jobAttributes == null ||
> > jobAttributes.getDialog() == DialogType.NATIVE)) {
> > throw new NullPointerException("Frame must not be null");
> > }
> > 
> > Regards
> > Prasanta
> > On 4/12/2016 10:43 PM, Phil Race wrote:
> > > hmm .. if it does not throw NPE when the dialog type is common that 
> > > could mean that the code is not referencing the frame as a modal 
> > > parent /owner in that case which could be another bug.
> > > Did you check into how this is used relative to other platforms ?
> > > 
> > > -phil.
> > > 
> > > 
> > > On 04/12/2016 04:16 AM, prasanta sadhukhan wrote:
> > > > Hi All,
> > > > 
> > > > Please review a fix for jdk9.
> > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8154057
> > > > webrev: http://cr.openjdk.java.net/~psadhukhan/8154057/webrev.00/
> > > > 
> > > > As per spec, Toolkit.getPrintJob() should throw NPE if null frame 
> > > > object is passed to it.
> > > > But on macos, it seems getPrintJob() does not check for null frame 
> > > > and show the print dialog.
> > > > 
> > > > Fix is to check for null frame which is same as what we do in 
> > > > windows (WToolkit) and linux (XToolkit).
> > > > 
> > > > Regards
> > > > Prasanta
> > > 
> > 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic