Fix scrolling functionality
[WebThing.git] / PluginManager.cs
index 56bfe55..7ef976c 100644 (file)
@@ -23,8 +23,10 @@ namespace bytex64.WebThing {
         }
 
         public void LoadPlugin(string assemblyname) {
-            Assembly a = Assembly.LoadFile(Environment.GetEnvironmentVariable("WEBTHING_HOME") + "/plugins/" + assemblyname + ".dll");
+            Assembly a = FindAssembly(assemblyname);
+            if (a == null) return;
             Type[] types = a.GetTypes();
+
             foreach (Type t in types) {
                 if (t.IsSubclassOf(typeof(WebThingPlugin))) {
                     if (Plugins.ContainsKey(t.FullName))
@@ -38,6 +40,17 @@ namespace bytex64.WebThing {
             }
         }
 
+        private Assembly FindAssembly(string assemblyname) {
+            foreach (string path in Config.PluginPath) {
+                try {
+                    return Assembly.LoadFile(path + "/" + assemblyname + ".dll");
+                } catch {
+                }
+            }
+            Console.WriteLine("Could not find {0}", assemblyname);
+            return null;
+        }
+
         public void WebViewSetup(WebView view) {
             foreach (string key in PluginOrder) {
                 Plugins[key].InitWebView(view);