[banshee] [Shuffler] Fix removing RandomBy when addin disabled



commit ce922ba6cd85644e233aa1fe088ab110dc7d2071
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Wed Feb 17 16:50:43 2010 -0800

    [Shuffler] Fix removing RandomBy when addin disabled

 .../Banshee.Collection.Database/Shuffler.cs        |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs
index 6c2def3..460d0a8 100644
--- a/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs
@@ -78,11 +78,11 @@ namespace Banshee.Collection.Database
             if (args.Change == ExtensionChange.Add) {
                 lock (random_modes) {
                     try {
-                    random_by = (RandomBy) Activator.CreateInstance (tnode.Type, this);
+                        random_by = (RandomBy) Activator.CreateInstance (tnode.Type, this);
+                        random_modes.Add (random_by);
                     } catch (Exception e) {
                         Log.Exception (String.Format ("Failed to load RandomBy extension: {0}", args.Path), e);
                     }
-                    random_modes.Add (random_by);
                 }
 
                 if (random_by != null) {
@@ -97,6 +97,9 @@ namespace Banshee.Collection.Database
             } else {
                 lock (random_modes) {
                     random_by = random_modes.FirstOrDefault (r => r.GetType () == tnode.Type);
+                    if (random_by != null) {
+                        random_modes.Remove (random_by);
+                    }
                 }
 
                 if (random_by != null) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]