From 19740f9367380a35a48c7556676b5138d0753a62 Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Fri, 15 Jul 2016 21:12:54 -0500 Subject: [PATCH] Contributed tools may not be platform-compatible -- this situation currently fails terribly --- .../src/processing/app/BaseNoGui.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/arduino-core/src/processing/app/BaseNoGui.java b/arduino-core/src/processing/app/BaseNoGui.java index 8ddb29cdc5c..2921403f72c 100644 --- a/arduino-core/src/processing/app/BaseNoGui.java +++ b/arduino-core/src/processing/app/BaseNoGui.java @@ -3,6 +3,7 @@ import cc.arduino.Compiler; import cc.arduino.Constants; import cc.arduino.UploaderUtils; +import cc.arduino.contributions.DownloadableContribution; import cc.arduino.contributions.GPGDetachedSignatureVerifier; import cc.arduino.contributions.SignatureVerificationFailedException; import cc.arduino.contributions.libraries.LibrariesIndexer; @@ -853,15 +854,18 @@ public static void createToolPreferences(Collection installedTo } for (ContributedTool tool : installedTools) { - File installedFolder = tool.getDownloadableContribution(getPlatform()).getInstalledFolder(); - String absolutePath; - if (installedFolder != null) { - absolutePath = installedFolder.getAbsolutePath(); - } else { - absolutePath = Constants.PREF_REMOVE_PLACEHOLDER; + DownloadableContribution dlContrib = tool.getDownloadableContribution(getPlatform()); + if (dlContrib != null) { + File installedFolder = dlContrib.getInstalledFolder(); + String absolutePath; + if (installedFolder != null) { + absolutePath = installedFolder.getAbsolutePath(); + } else { + absolutePath = Constants.PREF_REMOVE_PLACEHOLDER; + } + PreferencesData.set(prefix + tool.getName() + ".path", absolutePath); + PreferencesData.set(prefix + tool.getName() + "-" + tool.getVersion() + ".path", absolutePath); } - PreferencesData.set(prefix + tool.getName() + ".path", absolutePath); - PreferencesData.set(prefix + tool.getName() + "-" + tool.getVersion() + ".path", absolutePath); } }