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 >>> >>