diff options
Diffstat (limited to 'scriptingprovider.cpp')
| -rw-r--r-- | scriptingprovider.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/scriptingprovider.cpp b/scriptingprovider.cpp index 0a89c5a2..e1b7445e 100644 --- a/scriptingprovider.cpp +++ b/scriptingprovider.cpp @@ -94,21 +94,24 @@ void ScriptingInstance::CancelScriptInputCallback(void* ctxt) void ScriptingInstance::SetCurrentBinaryViewCallback(void* ctxt, BNBinaryView* view) { ScriptingInstance* instance = (ScriptingInstance*)ctxt; - instance->SetCurrentBinaryView(view ? new BinaryView(BNNewViewReference(view)) : nullptr); + Ref<BinaryView> object = view ? new BinaryView(BNNewViewReference(view)) : nullptr; + instance->SetCurrentBinaryView(object); } void ScriptingInstance::SetCurrentFunctionCallback(void* ctxt, BNFunction* func) { ScriptingInstance* instance = (ScriptingInstance*)ctxt; - instance->SetCurrentFunction(func ? new Function(BNNewFunctionReference(func)) : nullptr); + Ref<Function> object = func ? new Function(BNNewFunctionReference(func)) : nullptr; + instance->SetCurrentFunction(object); } void ScriptingInstance::SetCurrentBasicBlockCallback(void* ctxt, BNBasicBlock* block) { ScriptingInstance* instance = (ScriptingInstance*)ctxt; - instance->SetCurrentBasicBlock(block ? new BasicBlock(BNNewBasicBlockReference(block)) : nullptr); + Ref<BasicBlock> object = block ? new BasicBlock(BNNewBasicBlockReference(block)) : nullptr; + instance->SetCurrentBasicBlock(object); } |
