Author: ankit
Date: 2008-01-23 14:33:08 -0500 (Wed, 23 Jan 2008)
New Revision: 93693
Modified:
branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/ChangeLog
branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/MSBuildFileFormat.cs
Log:
* MSBuildFileFormat.cs: Read the full list of extensions only at init
time and handle ExtensionChange.Add correctly.
Modified: branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/ChangeLog
===================================================================
--- branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/ChangeLog
2008-01-23 19:18:34 UTC (rev 93692)
+++ branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/ChangeLog
2008-01-23 19:33:08 UTC (rev 93693)
@@ -1,3 +1,8 @@
+2008-01-24 Ankit Jain <[EMAIL PROTECTED]>
+
+ * MSBuildFileFormat.cs: Read the full list of extensions only at init
+ time and handle ExtensionChange.Add correctly.
+
2008-01-23 Ankit Jain <[EMAIL PROTECTED]>
Fix bug#353042.
Modified:
branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/MSBuildFileFormat.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/MSBuildFileFormat.cs
2008-01-23 19:18:34 UTC (rev 93692)
+++
branches/monodevelop/main/1.0/src/addins/prj2make-sharp-lib/MSBuildFileFormat.cs
2008-01-23 19:33:08 UTC (rev 93693)
@@ -884,26 +884,32 @@
return;
extensions = new List<MSBuildProjectExtension> ();
- OnProjectExtensionsChanged (null, null);
+ languageTypeGuids = new Dictionary<string,string> ();
+
+ foreach (MSBuildProjectExtension extn in
AddinManager.GetExtensionObjects (
+
"/MonoDevelop/Prj2Make/MSBuildProjectExtension", typeof
(MSBuildProjectExtension)))
+ AddExtension (extn);
+
+ extensions.Add (new DefaultMSBuildProjectExtension ());
AddinManager.AddExtensionNodeHandler
("/MonoDevelop/Prj2Make/MSBuildProjectExtension", OnProjectExtensionsChanged);
}
static void OnProjectExtensionsChanged (object s,
ExtensionNodeEventArgs args)
{
- extensions.Clear ();
- if (languageTypeGuids == null)
- languageTypeGuids = new
Dictionary<string,string> ();
- else
- LanguageTypeGuids.Clear ();
-
- foreach (MSBuildProjectExtension extn in
- AddinManager.GetExtensionObjects
("/MonoDevelop/Prj2Make/MSBuildProjectExtension", typeof
(MSBuildProjectExtension))) {
- extensions.Add (extn);
- if (extn.IsLanguage)
- LanguageTypeGuids [extn.LanguageId] =
extn.TypeGuid;
+ if (args.Change == ExtensionChange.Add) {
+ MSBuildProjectExtension extn =
(MSBuildProjectExtension) args.ExtensionObject;
+ if (!extensions.Contains (extn))
+ AddExtension (extn);
}
- extensions.Add (new DefaultMSBuildProjectExtension ());
+ //FIXME: ExtensionChange.Remove
}
+
+ static void AddExtension (MSBuildProjectExtension extn)
+ {
+ extensions.Add (extn);
+ if (extn.IsLanguage)
+ LanguageTypeGuids [extn.LanguageId] =
extn.TypeGuid;
+ }
static Regex conditionRegex = null;
static Regex ConditionRegex {
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches