--- a/ExternalLibraryFunction.st Tue Aug 01 15:13:47 2017 +0200
+++ b/ExternalLibraryFunction.st Tue Aug 01 15:33:44 2017 +0200
@@ -262,10 +262,11 @@
|oldPath newPath|
oldPath := self dllPath.
+ oldPath isNil ifTrue:[ oldPath := OrderedCollection new ].
(oldPath includes:aDirectoryPathName) ifFalse:[
- newPath := oldPath asOrderedCollection.
- newPath add:aDirectoryPathName.
- self dllPath:newPath
+ newPath := oldPath asOrderedCollection.
+ newPath add:aDirectoryPathName.
+ self dllPath:newPath
]
"
@@ -412,7 +413,9 @@
|oldPath|
oldPath := self dllPath.
- self dllPath:(oldPath asOrderedCollection copyWithout:aDirectoryPathName)
+ oldPath notNil ifTrue:[
+ self dllPath:(oldPath asOrderedCollection copyWithout:aDirectoryPathName)
+ ].
"
self dllPath.
@@ -1034,10 +1037,13 @@
"First ask the class defining the ExternalFunction for the location of the dlls ..."
dllPaths := #().
owningClass notNil ifTrue:[
- dllPaths := owningClass dllPath.
+ dllPaths := owningClass dllPath ? #().
].
".. then ask the system"
- dllPaths := dllPaths, self class dllPath.
+ dllPaths := dllPaths, (self class dllPath ? #()).
+ ".. and the settings"
+ dllPaths := dllPaths,(UserPreferences current dllPath ? #()).
+
dllPaths do:[:eachDirectory |
|libraryName|