Browse Source

Fixed SD2-1033: Debugger locking assemblies

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1832 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 20 years ago
parent
commit
2f1aae67ea
  1. 11
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Wrappers/MetaData/MetaData.cs

11
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Wrappers/MetaData/MetaData.cs

@ -24,6 +24,7 @@ namespace Debugger.Wrappers.MetaData
{ {
Guid guid = new Guid("{ 0x7dac8207, 0xd3ae, 0x4c75, { 0x9b, 0x67, 0x92, 0x80, 0x1a, 0x49, 0x7d, 0x44 } }"); Guid guid = new Guid("{ 0x7dac8207, 0xd3ae, 0x4c75, { 0x9b, 0x67, 0x92, 0x80, 0x1a, 0x49, 0x7d, 0x44 } }");
metaData = (IMetaDataImport)pModule.GetMetaDataInterface(ref guid); metaData = (IMetaDataImport)pModule.GetMetaDataInterface(ref guid);
ResourceManager.TrackCOMObject(metaData, typeof(IMetaDataImport));
} }
public ISymUnmanagedReader GetSymReader(string fullname, string searchPath) public ISymUnmanagedReader GetSymReader(string fullname, string searchPath)
@ -36,9 +37,17 @@ namespace Debugger.Wrappers.MetaData
} }
} }
~MetaData()
{
Dispose();
}
public void Dispose() public void Dispose()
{ {
Marshal.FinalReleaseComObject(metaData); if (metaData != null) {
ResourceManager.ReleaseCOMObject(metaData, typeof(IMetaDataImport));
metaData = null;
}
} }
public TypeDefProps GetTypeDefProps(uint typeToken) public TypeDefProps GetTypeDefProps(uint typeToken)

Loading…
Cancel
Save