summaryrefslogtreecommitdiff
path: root/scriptingprovider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scriptingprovider.cpp')
-rw-r--r--scriptingprovider.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/scriptingprovider.cpp b/scriptingprovider.cpp
index 6a52e095..475d69ce 100644
--- a/scriptingprovider.cpp
+++ b/scriptingprovider.cpp
@@ -60,6 +60,7 @@ ScriptingInstance::ScriptingInstance(ScriptingProvider* provider)
cb.setCurrentBasicBlock = SetCurrentBasicBlockCallback;
cb.setCurrentAddress = SetCurrentAddressCallback;
cb.setCurrentSelection = SetCurrentSelectionCallback;
+ AddRefForRegistration();
m_object = BNInitScriptingInstance(provider->GetObject(), &cb);
}
@@ -70,6 +71,12 @@ ScriptingInstance::ScriptingInstance(BNScriptingInstance* instance)
}
+ScriptingInstance::~ScriptingInstance()
+{
+ BNFreeScriptingInstance(m_object);
+}
+
+
void ScriptingInstance::DestroyInstanceCallback(void* ctxt)
{
ScriptingInstance* instance = (ScriptingInstance*)ctxt;