Browse Source

Add "Vendor" directory.

Make WpfDesigner GetBitmapExtension.ProvideValue thread-safe.
Make FileUtility.IsBaseDirectory more efficient.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3142 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
ce1d104029
  1. 3
      data/ConversionStyleSheets/SVNChangelogToXml.xsl
  2. 13
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/GetBitmapExtension.cs
  3. 19
      src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs
  4. 3
      src/Main/Core/Test/AddInTreeTests/ExtPathTests.cs

3
data/ConversionStyleSheets/SVNChangelogToXml.xsl

@ -79,6 +79,9 @@
<xsl:when test="$orig_author = 'robertpickering'"> <xsl:when test="$orig_author = 'robertpickering'">
<xsl:text>Robert Pickering</xsl:text> <xsl:text>Robert Pickering</xsl:text>
</xsl:when> </xsl:when>
<xsl:when test="$orig_author = 'siegfriedpammer'">
<xsl:text>Siegfried Pammer</xsl:text>
</xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:value-of select="./author" /> <xsl:value-of select="./author" />
</xsl:otherwise> </xsl:otherwise>

13
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/GetBitmapExtension.cs

@ -23,14 +23,15 @@ namespace ICSharpCode.WpfDesign.AddIn
public override object ProvideValue(IServiceProvider sp) public override object ProvideValue(IServiceProvider sp)
{ {
BitmapSource result; lock (cache) {
if (cache.TryGetValue(key, out result)) { BitmapSource result;
if (!cache.TryGetValue(key, out result)) {
result = GetBitmapSource();
result.Freeze();
cache[key] = result;
}
return result; return result;
} }
result = GetBitmapSource();
result.Freeze();
cache[key] = result;
return result;
} }
BitmapSource GetBitmapSource() BitmapSource GetBitmapSource()

19
src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs

@ -257,21 +257,12 @@ namespace ICSharpCode.Core
public static bool IsBaseDirectory(string baseDirectory, string testDirectory) public static bool IsBaseDirectory(string baseDirectory, string testDirectory)
{ {
try { if (baseDirectory == null || testDirectory == null)
baseDirectory = NormalizePath(baseDirectory).ToUpperInvariant();
testDirectory = NormalizePath(testDirectory).ToUpperInvariant();
baseDirectory = baseDirectory.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
testDirectory = testDirectory.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
if (baseDirectory[baseDirectory.Length - 1] != Path.DirectorySeparatorChar)
baseDirectory += Path.DirectorySeparatorChar;
if (testDirectory[testDirectory.Length - 1] != Path.DirectorySeparatorChar)
testDirectory += Path.DirectorySeparatorChar;
return testDirectory.StartsWith(baseDirectory);
} catch (Exception) {
return false; return false;
} baseDirectory = NormalizePath(baseDirectory) + Path.DirectorySeparatorChar;
testDirectory = NormalizePath(testDirectory) + Path.DirectorySeparatorChar;
return testDirectory.StartsWith(baseDirectory, StringComparison.InvariantCultureIgnoreCase);
} }
public static string RenameBaseDirectory(string fileName, string oldDirectory, string newDirectory) public static string RenameBaseDirectory(string fileName, string oldDirectory, string newDirectory)

3
src/Main/Core/Test/AddInTreeTests/ExtPathTests.cs

@ -65,6 +65,9 @@ namespace ICSharpCode.Core.Tests.AddInTreeTests.Tests
{ {
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a", @"C:\A\b\hello")); Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a", @"C:\A\b\hello"));
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a", @"C:\a")); Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a", @"C:\a"));
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a\", @"C:\a\"));
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a\", @"C:\a"));
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a", @"C:\a\"));
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\A", @"C:\a")); Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\A", @"C:\a"));
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a", @"C:\A")); Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a", @"C:\A"));
Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a\x\fWufhweoe", @"C:\a\x\fwuFHweoe\a\b\hello")); Assert.IsTrue(FileUtility.IsBaseDirectory(@"C:\a\x\fWufhweoe", @"C:\a\x\fwuFHweoe\a\b\hello"));

Loading…
Cancel
Save