From dcc1020a6ec7374f1e6784ce19566230f4592b28 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Wed, 6 Aug 2014 11:17:10 +0200 Subject: [PATCH] Better check for programmers configuration when uploading using programmer --- .../packages/uploaders/SerialUploader.java | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/app/src/cc/arduino/packages/uploaders/SerialUploader.java b/app/src/cc/arduino/packages/uploaders/SerialUploader.java index eb1ea96e8..03e33baa7 100644 --- a/app/src/cc/arduino/packages/uploaders/SerialUploader.java +++ b/app/src/cc/arduino/packages/uploaders/SerialUploader.java @@ -26,18 +26,22 @@ package cc.arduino.packages.uploaders; -import cc.arduino.packages.Uploader; -import processing.app.*; -import processing.app.debug.RunnerException; -import processing.app.debug.TargetPlatform; -import processing.app.helpers.PreferencesMap; -import processing.app.helpers.StringReplacer; +import static processing.app.I18n._; import java.io.File; import java.util.ArrayList; import java.util.List; -import static processing.app.I18n._; +import processing.app.Base; +import processing.app.I18n; +import processing.app.Preferences; +import processing.app.Serial; +import processing.app.SerialException; +import processing.app.debug.RunnerException; +import processing.app.debug.TargetPlatform; +import processing.app.helpers.PreferencesMap; +import processing.app.helpers.StringReplacer; +import cc.arduino.packages.Uploader; public class SerialUploader extends Uploader { @@ -209,7 +213,11 @@ public class SerialUploader extends Uploader { PreferencesMap prefs = Preferences.getMap(); prefs.putAll(Base.getBoardPreferences()); - prefs.putAll(targetPlatform.getProgrammer(programmer)); + PreferencesMap programmerPrefs = targetPlatform.getProgrammer(programmer); + if (programmerPrefs == null) + throw new RunnerException( + _("Please select a programmer from Tools->Programmer menu")); + prefs.putAll(programmerPrefs); prefs.putAll(targetPlatform.getTool(prefs.getOrExcept("program.tool"))); prefs.put("build.path", buildPath); @@ -251,6 +259,9 @@ public class SerialUploader extends Uploader { } else { programmerPrefs = targetPlatform.getProgrammer(programmer); } + if (programmerPrefs == null) + throw new RunnerException( + _("Please select a programmer from Tools->Programmer menu")); // Build configuration for the current programmer PreferencesMap prefs = Preferences.getMap();