Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8094200

[Printing] NPE when showing print dialog

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 8u20
    • 8u20
    • javafx
    • OS X Mavericks JDK 8u20_build 14

      It seems that there's a null element in the returned array.

      Code to get the NPE:

      PrinterJob.createPrinterJob().showPrintDialog(stage);


      It happenes when I have Lisanet PDFWriter (http://sourceforge.net/projects/pdfwriterformac/) as default printer. It works ok from other programmes though. If I don't have it as default it still happens if I select the PDFWriter.

      java.lang.NullPointerException
      at com.sun.prism.j2d.print.J2DPrinter.printableArea(J2DPrinter.java:844)
      at javafx.print.Printer.createPageLayout(Printer.java:249)
      at javafx.print.Printer.getDefaultPageLayout(Printer.java:221)
      at javafx.print.JobSettings.updateForPrinter(JobSettings.java:373)
      at javafx.print.PrinterJob$1.set(PrinterJob.java:184)
      at javafx.print.PrinterJob$1.set(PrinterJob.java:172)
      at javafx.print.PrinterJob.setPrinter(PrinterJob.java:246)
      at com.sun.prism.j2d.print.J2DPrinterJob.updatePrinter(J2DPrinterJob.java:462)
      at com.sun.prism.j2d.print.J2DPrinterJob.updateSettingsFromDialog(J2DPrinterJob.java:466)
      at com.sun.prism.j2d.print.J2DPrinterJob.showPrintDialog(J2DPrinterJob.java:133)
      at javafx.print.PrinterJob.showPrintDialog(PrinterJob.java:290)
      at wing.reports_new.print.PrintTestApp.start(PrintTestApp.java:86)
      at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$138(LauncherImpl.java:821)
      at com.sun.javafx.application.LauncherImpl$$Lambda$50/2097733115.run(Unknown Source)
      at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$150(PlatformImpl.java:319)
      at com.sun.javafx.application.PlatformImpl$$Lambda$46/1061772143.run(Unknown Source)
      at com.sun.javafx.application.PlatformImpl.lambda$null$148(PlatformImpl.java:288)
      at com.sun.javafx.application.PlatformImpl$$Lambda$48/766606369.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.javafx.application.PlatformImpl.lambda$runLater$149(PlatformImpl.java:287)
      at com.sun.javafx.application.PlatformImpl$$Lambda$47/84781936.run(Unknown Source)
      at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

      Code in J2DPrinter in this release:


                  MediaPrintableArea[] mpa = (MediaPrintableArea[])service. getSupportedAttributeValues(MediaPrintableArea.class,
                                                  null, pras);

                  if (mpa != null && mpa.length > 0) {
                      int MPA_INCH = MediaPrintableArea.INCH;
      here-> area = new Rectangle2D(mpa[0].getX(MPA_INCH),
                                             mpa[0].getY(MPA_INCH),
                                             mpa[0].getWidth(MPA_INCH),
                                             mpa[0].getHeight(MPA_INCH));
                  }

            prr Philip Race
            mgrev Mikael Grev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: