From 7f87574f7e5c9268ad3b501dd45dd8c7a3cf3cab Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 12 Jul 2013 20:05:58 +0200 Subject: [PATCH] Hardened upload.tool property reading code for boards.txt Fixes #1464 --- app/src/processing/app/Editor.java | 8 ++++++++ app/src/processing/app/debug/BasicUploader.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index 4b946a0a7..42413b267 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -2433,6 +2433,10 @@ public class Editor extends JFrame implements RunnerListener { if (serialMenu.getItemCount() == 0) statusError(e); else if (serialPrompt()) run(); else statusNotice(_("Upload canceled.")); + } catch (PreferencesMapException e) { + statusError(I18n.format( + _("Error while uploading: missing '{0}' configuration parameter"), + e.getMessage())); } catch (RunnerException e) { //statusError("Error during upload."); //e.printStackTrace(); @@ -2469,6 +2473,10 @@ public class Editor extends JFrame implements RunnerListener { if (serialMenu.getItemCount() == 0) statusError(e); else if (serialPrompt()) run(); else statusNotice(_("Upload canceled.")); + } catch (PreferencesMapException e) { + statusError(I18n.format( + _("Error while uploading: missing '{0}' configuration parameter"), + e.getMessage())); } catch (RunnerException e) { //statusError("Error during upload."); //e.printStackTrace(); diff --git a/app/src/processing/app/debug/BasicUploader.java b/app/src/processing/app/debug/BasicUploader.java index b56c28ad0..06e097373 100644 --- a/app/src/processing/app/debug/BasicUploader.java +++ b/app/src/processing/app/debug/BasicUploader.java @@ -51,7 +51,7 @@ public class BasicUploader extends Uploader { TargetPlatform targetPlatform = Base.getTargetPlatform(); PreferencesMap prefs = Preferences.getMap(); prefs.putAll(Base.getBoardPreferences()); - prefs.putAll(targetPlatform.getTool(prefs.get("upload.tool"))); + prefs.putAll(targetPlatform.getTool(prefs.getOrExcept("upload.tool"))); // if no protocol is specified for this board, assume it lacks a // bootloader and upload using the selected programmer.