ported from UXP: Issue #1715 - Handle errors when initializing print settings from the printer fails due to a bad printer name or O.S. error. (82994ebc)

This commit is contained in:
2022-04-21 22:55:38 +08:00
parent 6450e6b68d
commit d2c7744bfa
+12 -2
View File
@@ -484,8 +484,18 @@ var Printing = {
printSettings.printerName = defaultPrinterName;
}
// First get any defaults from the printer
PSSVC.initPrintSettingsFromPrinter(printSettings.printerName,
printSettings);
try {
PSSVC.initPrintSettingsFromPrinter(printSettings.printerName,
printSettings);
} catch(e) {
// The printer name specified was invalid or there was an O.S. error.
Components.utils.reportError("Invalid printer: " + printSettings.printerName);
Services.prefs.clearUserPref("print.print_printer");
// Try again with default
printSettings.printerName = PSSVC.defaultPrinterName;
PSSVC.initPrintSettingsFromPrinter(printSettings.printerName,
printSettings);
}
// now augment them with any values from last time
PSSVC.initPrintSettingsFromPrefs(printSettings, true,
printSettings.kInitSaveAll);