Author: lluis
Date: 2007-05-25 13:16:18 -0400 (Fri, 25 May 2007)
New Revision: 77957

Modified:
   trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/ChangeLog
   
trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui/CommandService.cs
Log:
* MonoDevelop.Core.Gui/CommandService.cs: Unregister commands from
  unloaded add-ins. Don't reuse extension objects when creating a
  menu, since they may have changed.

Modified: trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/ChangeLog
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/ChangeLog   2007-05-25 
17:14:54 UTC (rev 77956)
+++ trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/ChangeLog   2007-05-25 
17:16:18 UTC (rev 77957)
@@ -1,3 +1,9 @@
+2007-05-25  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
+
+       * MonoDevelop.Core.Gui/CommandService.cs: Unregister commands from
+         unloaded add-ins. Don't reuse extension objects when creating a
+         menu, since they may have changed.
+
 2007-05-21  Ankit Jain  <[EMAIL PROTECTED]>
 
        * MonoDevelop.Core.Gui/MessageService.cs: Ensure Dialogs are 
Destroy()'ed.

Modified: 
trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui/CommandService.cs
===================================================================
--- 
trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui/CommandService.cs
      2007-05-25 17:14:54 UTC (rev 77956)
+++ 
trunk/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui/CommandService.cs
      2007-05-25 17:16:18 UTC (rev 77957)
@@ -55,6 +55,8 @@
                {
                        if (args.Change == ExtensionChange.Add)
                                manager.RegisterCommand (args.ExtensionObject 
as Command, null);
+                       else
+                               manager.UnregisterCommand (args.ExtensionObject 
as Command);
                }
                
                public void EnableUpdate ()
@@ -153,7 +155,7 @@
                public CommandEntrySet CreateCommandEntrySet (string addinPath)
                {
                        CommandEntrySet cset = new CommandEntrySet ();
-                       object[] items = AddinManager.GetExtensionObjects 
(addinPath);
+                       object[] items = AddinManager.GetExtensionObjects 
(addinPath, false);
                        foreach (CommandEntry e in items)
                                cset.Add (e);
                        return cset;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to