summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2021-01-18 18:07:28 +0000
committerMoonchild <moonchild@palemoon.org>2021-01-18 18:07:28 +0000
commit22e78108bd8eedfea961074170ca5578ea1370b0 (patch)
treed2411916561a91f6fe9b63ede73a3f823b9bad25
parentc77d06c0c41e23e324ce1d82b1a57e29c2ecea13 (diff)
downloaduxp-22e78108bd8eedfea961074170ca5578ea1370b0.tar.gz
Issue #1715 - Handle errors when initializing print settings from the printer
fails due to a bad printer name or O.S. error. Resolves #1715
-rw-r--r--toolkit/content/browser-content.js14
1 files changed, 12 insertions, 2 deletions
diff --git a/toolkit/content/browser-content.js b/toolkit/content/browser-content.js
index 2276f8a0d1..d6185c5dd2 100644
--- a/toolkit/content/browser-content.js
+++ b/toolkit/content/browser-content.js
@@ -483,8 +483,18 @@ var Printing = {
printSettings.printerName = PSSVC.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);