Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-addins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <llsan@microsoft.com>2018-07-03 17:45:51 +0300
committerGitHub <noreply@github.com>2018-07-03 17:45:51 +0300
commit8c7f398e10a3b195f1e355c89780a92a3cafac9f (patch)
tree221374ebcab6fcbfeef29b4c608fbdcafd317b93
parent293cbf213be1ac0ec36c52d143c58bda2f95e494 (diff)
parentbd1fd84b41f8aca518c184e007d70d4024eb0002 (diff)
Merge pull request #119 from mono/addin-load-logging-avoid-addin-load-for-default-localizeraddin-load-logging
Avoid loading the addin if it has no localizer
-rw-r--r--Mono.Addins/Mono.Addins/ExtensionNode.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/Mono.Addins/Mono.Addins/ExtensionNode.cs b/Mono.Addins/Mono.Addins/ExtensionNode.cs
index 2dc7126..6baad49 100644
--- a/Mono.Addins/Mono.Addins/ExtensionNode.cs
+++ b/Mono.Addins/Mono.Addins/ExtensionNode.cs
@@ -412,7 +412,7 @@ namespace Mono.Addins
if (memberType == typeof(string)) {
if (f.Localizable)
- val = Addin.Localizer.GetString (at.value);
+ val = GetAddinLocalizer ().GetString (at.value);
else
val = at.value;
}
@@ -449,6 +449,21 @@ namespace Mono.Addins
}
}
}
+
+ /// <summary>
+ /// Tries to avoid loading the addin dependencies when getting the localizer.
+ /// </summary>
+ AddinLocalizer GetAddinLocalizer ()
+ {
+ if (addin != null || addinId == null)
+ return Addin.Localizer;
+
+ Addin foundAddin = addinEngine.Registry.GetAddin (addinId);
+ if (foundAddin == null || foundAddin.Description.Localizer != null)
+ return Addin.Localizer;
+
+ return addinEngine.DefaultLocalizer;
+ }
internal bool NotifyChildChanged ()
{