Author: lluis
Date: 2007-05-04 08:18:12 -0400 (Fri, 04 May 2007)
New Revision: 76673
Modified:
trunk/mono-addins/Mono.Addins/ChangeLog
trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.mdp
trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionContext.cs
trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionTree.cs
Log:
* Mono.Addins.mdp: Updated.
* Mono.Addins/ExtensionContext.cs: Fixed GetExtensionObjects overload
which was not using the correct reuseCachedInstance value.
* Mono.Addins/ExtensionTree.cs: Improved error message. When looking
for a type in an assembly, avoid throwing an exception too early,
since it may be found in other assemblies.
* Mono.Addins.Database/AddinDatabase.cs: In the addin info cache, also
store information about unsuccessful lookups, to avoid looking for
an add-in again if we found that it doesn't exist. In Update(),
don't use verbose output by default.
Modified: trunk/mono-addins/Mono.Addins/ChangeLog
===================================================================
--- trunk/mono-addins/Mono.Addins/ChangeLog 2007-05-04 12:15:44 UTC (rev
76672)
+++ trunk/mono-addins/Mono.Addins/ChangeLog 2007-05-04 12:18:12 UTC (rev
76673)
@@ -1,3 +1,16 @@
+2007-05-04 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * Mono.Addins.mdp: Updated.
+ * Mono.Addins/ExtensionContext.cs: Fixed GetExtensionObjects overload
+ which was not using the correct reuseCachedInstance value.
+ * Mono.Addins/ExtensionTree.cs: Improved error message. When looking
+ for a type in an assembly, avoid throwing an exception too early,
+ since it may be found in other assemblies.
+ * Mono.Addins.Database/AddinDatabase.cs: In the addin info cache, also
+ store information about unsuccessful lookups, to avoid looking for
+ an add-in again if we found that it doesn't exist. In Update(),
+ don't use verbose output by default.
+
2007-04-10 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* Mono.Addins.mdp, Makefile.am, Mono.Addins.csproj: Updated.
Modified: trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionContext.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionContext.cs
2007-05-04 12:15:44 UTC (rev 76672)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionContext.cs
2007-05-04 12:18:12 UTC (rev 76673)
@@ -250,7 +250,7 @@
public object[] GetExtensionObjects (string path, bool
reuseCachedInstance)
{
- return GetExtensionObjects (path, typeof(object), true);
+ return GetExtensionObjects (path, typeof(object),
reuseCachedInstance);
}
public object[] GetExtensionObjects (string path, Type
arrayElementType)
Modified: trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionTree.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionTree.cs 2007-05-04
12:15:44 UTC (rev 76672)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins/ExtensionTree.cs 2007-05-04
12:18:12 UTC (rev 76673)
@@ -173,7 +173,7 @@
return node;
}
catch (Exception ex) {
- AddinManager.ReportError ("Could not read
extension node", addin, ex, false);
+ AddinManager.ReportError ("Could not read
extension node of type '" + ntype.Type + "' from extension path '" +
tnode.GetPath() + "'", addin, ex, false);
return null;
}
}
@@ -199,7 +199,7 @@
return true;
}
- ntype.Type = p.GetType (ntype.TypeName);
+ ntype.Type = p.GetType (ntype.TypeName, false);
if (ntype.Type == null) {
AddinManager.ReportError ("Extension node type
'" + ntype.TypeName + "' not found.", ntype.AddinId, null, false);
return false;
Modified: trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs
2007-05-04 12:15:44 UTC (rev 76672)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs
2007-05-04 12:18:12 UTC (rev 76673)
@@ -199,14 +199,20 @@
public Addin GetInstalledAddin (string id, bool
exactVersionMatch, bool enabledOnly)
{
- Addin sinfo = (Addin) cachedAddinSetupInfos [id];
- if (sinfo != null) {
- if (!enabledOnly || sinfo.Enabled)
- return sinfo;
- if (exactVersionMatch)
+ Addin sinfo = null;
+ object ob = cachedAddinSetupInfos [id];
+ if (ob != null) {
+ sinfo = ob as Addin;
+ if (sinfo != null) {
+ if (!enabledOnly || sinfo.Enabled)
+ return sinfo;
+ if (exactVersionMatch)
+ return null;
+ }
+ else
return null;
}
-
+
InternalCheck ();
using (fileDatabase.LockRead ())
@@ -217,8 +223,11 @@
cachedAddinSetupInfos [id] = sinfo;
if (!enabledOnly || sinfo.Enabled)
return sinfo;
- if (exactVersionMatch)
+ if (exactVersionMatch) {
+ // Cache lookups with negative
result
+ cachedAddinSetupInfos [id] =
this;
return null;
+ }
}
// Exact version not found. Look for a
compatible version
@@ -244,6 +253,9 @@
return sinfo;
}
}
+
+ // Cache lookups with negative result
+ cachedAddinSetupInfos [id] = this;
return null;
}
}
@@ -265,10 +277,16 @@
public Addin GetAddinForHostAssembly (string assemblyLocation)
{
InternalCheck ();
+ Addin ainfo = null;
- Addin ainfo = (Addin) cachedAddinSetupInfos
[assemblyLocation];
- if (ainfo != null)
- return ainfo;
+ object ob = cachedAddinSetupInfos [assemblyLocation];
+ if (ob != null) {
+ ainfo = ob as Addin;
+ if (ainfo != null)
+ return ainfo;
+ else
+ return null;
+ }
AddinHostIndex index = GetAddinHostIndex ();
string addin, addinFile;
@@ -605,7 +623,7 @@
public void Update (IProgressStatus monitor)
{
if (monitor == null)
- monitor = new ConsoleProgressStatus (true);
+ monitor = new ConsoleProgressStatus (false);
if (RunningSetupProcess)
return;
Modified: trunk/mono-addins/Mono.Addins/Mono.Addins.mdp
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.mdp 2007-05-04 12:15:44 UTC
(rev 76672)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.mdp 2007-05-04 12:18:12 UTC
(rev 76673)
@@ -1,4 +1,4 @@
-<Project defaultDeployTarget="Directory" name="Mono.Addins" fileversion="2.0"
language="C#" clr-version="Net_1_1" ctype="DotNetProject">
+<Project name="Mono.Addins" fileversion="2.0" language="C#"
clr-version="Net_1_1" ctype="DotNetProject">
<Configurations active="Default">
<Configuration name="Default" ctype="DotNetProjectConfiguration">
<Output directory="../bin" assembly="Mono.Addins.dll" />
@@ -7,9 +7,6 @@
<CodeGeneration compiler="Csc" warninglevel="4" optimize="True"
unsafecodeallowed="False" generateoverflowchecks="True"
mainclass="Mono.Addins.Database.SetupProcess" generatexmldocumentation="False"
win32Icon="./" ctype="CSharpCompilerParameters" />
</Configuration>
</Configurations>
- <DeployTargets>
- <DeployTarget Name="Directory" ctype="DirectoryDeployTarget" />
- </DeployTargets>
<Contents>
<File name="./AssemblyInfo.cs" subtype="Code" buildaction="Compile" />
<File name="./Mono.Addins/ExtensionNode.cs" subtype="Code"
buildaction="Compile" />
@@ -97,7 +94,5 @@
<AsmRefVar Sync="True" Name="DLL_REFERENCES" />
<ProjectRefVar Sync="True" Name="PROJECT_REFERENCES" />
</MonoDevelop.Autotools.MakefileInfo>
- <DeploymentInformation strategy="File">
- <excludeFiles />
- </DeploymentInformation>
+ <Deployment.LinuxDeployData scriptName="mono.addins" />
</Project>
\ No newline at end of file
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches