-
Notifications
You must be signed in to change notification settings - Fork 435
Open
Description
We've just switched to use Dink instead of Running WkHtml in a process, so to see if it behaves any better.
Whilst it seems to report less errors, there does seem to be a memory leak. I'm wondering if this bit of code in BasicConverter
shouldn't have a try finally?
ProcessingDocument = document;
byte[] result = new byte[0];
Tools.Load();
IntPtr converter = CreateConverter(document);
Tools.SetPhaseChangedCallback(converter, OnPhaseChanged);
Tools.SetProgressChangedCallback(converter, OnProgressChanged);
Tools.SetFinishedCallback(converter, OnFinished);
Tools.SetWarningCallback(converter, OnWarning);
Tools.SetErrorCallback(converter, OnError);
if (Tools.DoConversion(converter))
{
result = Tools.GetConversionResult(converter);
}
Tools.DestroyConverter(converter);
as in:
ProcessingDocument = document;
byte[] result = [];
IntPtr converter = IntPtr.Zero;
try
{
Tools.Load();
converter = CreateConverter(document);
Tools.SetPhaseChangedCallback(converter, OnPhaseChanged);
Tools.SetProgressChangedCallback(converter, OnProgressChanged);
Tools.SetFinishedCallback(converter, OnFinished);
Tools.SetWarningCallback(converter, OnWarning);
Tools.SetErrorCallback(converter, OnError);
if (Tools.DoConversion(converter))
{
result = Tools.GetConversionResult(converter);
}
}
finally
{
if (converter != IntPtr.Zero)
Tools.DestroyConverter(converter);
}
If anyone has any thoughts, I'd be happy to do a PR for this. or am I barking up the wrong tree?
Metadata
Metadata
Assignees
Labels
No labels