summaryrefslogtreecommitdiff
path: root/plugins/workflow_objc/src
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/workflow_objc/src')
-rw-r--r--plugins/workflow_objc/src/metadata/global_state.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/plugins/workflow_objc/src/metadata/global_state.rs b/plugins/workflow_objc/src/metadata/global_state.rs
index db29af49..6c128e22 100644
--- a/plugins/workflow_objc/src/metadata/global_state.rs
+++ b/plugins/workflow_objc/src/metadata/global_state.rs
@@ -1,11 +1,12 @@
use binaryninja::file_metadata::SessionId;
+use binaryninja::object_destructor::register_object_destructor;
use binaryninja::{
binary_view::{BinaryView, BinaryViewBase, BinaryViewExt},
file_metadata::FileMetadata,
metadata::Metadata,
+ object_destructor::ObjectDestructor,
rc::Ref,
settings::{QueryOptions, Settings},
- ObjectDestructor,
};
use dashmap::DashMap;
use once_cell::sync::Lazy;
@@ -66,8 +67,8 @@ pub struct GlobalState;
impl GlobalState {
pub fn register_cleanup() {
- let observer = Box::leak(Box::new(ObjectLifetimeObserver));
- observer.register();
+ let destructor = register_object_destructor(ObjectLifetimeObserver);
+ std::mem::forget(destructor);
}
fn id(bv: &BinaryView) -> SessionId {