From 6ef32157e767aacd142012206bcf79c48266da2a Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Fri, 10 Aug 2018 13:56:34 -0400 Subject: Fix DownloadProvider reference counting and instance cleanup. --- downloadprovider.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'downloadprovider.cpp') diff --git a/downloadprovider.cpp b/downloadprovider.cpp index 0e3483df..436e2516 100644 --- a/downloadprovider.cpp +++ b/downloadprovider.cpp @@ -10,6 +10,7 @@ DownloadInstance::DownloadInstance(DownloadProvider* provider) cb.context = this; cb.destroyInstance = DestroyInstanceCallback; cb.performRequest = PerformRequestCallback; + AddRefForRegistration(); m_object = BNInitDownloadInstance(provider->GetObject(), &cb); } @@ -20,6 +21,12 @@ DownloadInstance::DownloadInstance(BNDownloadInstance* instance) } +DownloadInstance::~DownloadInstance() +{ + BNFreeDownloadInstance(m_object); +} + + void DownloadInstance::DestroyInstanceCallback(void* ctxt) { DownloadInstance* instance = (DownloadInstance*)ctxt; -- cgit v1.3.1