diff --git a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java index a09eb2a468f..d430e7196e7 100644 --- a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java @@ -102,8 +102,14 @@ private void parseIndex(File file) throws IOException { } public void setLibrariesFolders(List _librariesFolders) { - librariesFolders = _librariesFolders; - rescanLibraries(); + if (librariesFolders != _librariesFolders && !librariesFolders.equals(_librariesFolders)) { + librariesFolders = _librariesFolders; + rescanLibraries(); + } + } + + public List getLibrariesFolders() { + return librariesFolders; } public void rescanLibraries() { diff --git a/arduino-core/src/processing/app/BaseNoGui.java b/arduino-core/src/processing/app/BaseNoGui.java index 62cfd0d687c..1a895e89ea9 100644 --- a/arduino-core/src/processing/app/BaseNoGui.java +++ b/arduino-core/src/processing/app/BaseNoGui.java @@ -87,7 +87,7 @@ public class BaseNoGui { public static Map importToLibraryTable; // XXX: Remove this field - static private List librariesFolders; + static private ArrayList librariesFolders; static UserNotifier notifier = new BasicUserNotifier(); @@ -245,7 +245,7 @@ static public String getHardwarePath() { return getHardwareFolder().getAbsolutePath(); } - static public List getLibrariesPath() { + static public ArrayList getLibrariesPath() { return librariesFolders; } @@ -680,7 +680,6 @@ static public void onBoardOrPortChange() { // other libraries with the same name. librariesIndexer.setSketchbookLibrariesFolder(getSketchbookLibrariesFolder()); librariesIndexer.setLibrariesFolders(librariesFolders); - librariesIndexer.rescanLibraries(); populateImportToLibraryTable(); }