< prev index next >
src/java.desktop/share/classes/sun/print/RasterPrinterJob.java
Print this page
*** 783,793 ****
--- 783,795 ----
// Check for native, note that default dialog is COMMON.
if (dlg == DialogTypeSelection.NATIVE) {
PrintService pservice = getPrintService();
PageFormat pageFrmAttrib = attributeToPageFormat(pservice,
attributes);
+ setParentWindowID(attributes);
PageFormat page = pageDialog(pageFrmAttrib);
+ clearParentWindowID();
// If user cancels the dialog, pageDialog() will return the original
// page object and as per spec, we should return null in that case.
if (page == pageFrmAttrib) {
return null;
*** 921,931 ****
--- 923,935 ----
} catch (PrinterException e) {
}
+ setParentWindowID(attributes);
boolean ret = printDialog();
+ clearParentWindowID();
this.attributes = attributes;
return ret;
}
*** 2537,2542 ****
--- 2541,2565 ----
return s; // no need to make a new String.
} else {
return new String(out_chars, 0, pos);
}
}
+
+ private long parentWindowID = 0L;
+
+ /* Called from native code */
+ private long getParentWindowID() {
+ return parentWindowID;
+ }
+
+ private void clearParentWindowID() {
+ parentWindowID = 0L;
+ }
+
+ private void setParentWindowID(PrintRequestAttributeSet attrs) {
+ parentWindowID = 0L;
+ DialogOnTop onTop = (DialogOnTop)attrs.get(DialogOnTop.class);
+ if (onTop != null) {
+ parentWindowID = onTop.getID();
+ }
+ }
}
< prev index next >