summaryrefslogtreecommitdiff
path: root/plugins/workflow_objc
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2026-03-13 12:20:27 -0700
committerMason Reed <35282038+emesare@users.noreply.github.com>2026-03-24 18:46:48 -0700
commitc43ecea6535c12d8b04ca8cede1a35cb9fb66af9 (patch)
tree5b3da92fcf2178b7a7ff8eecf3d3f933a5bf9bf8 /plugins/workflow_objc
parenta40a300cce8a798200562e9d4515116360dbd0b1 (diff)
[Rust] Move `ObjectDestructor` to own module and add some extra documentation
Diffstat (limited to 'plugins/workflow_objc')
-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 {