From c43ecea6535c12d8b04ca8cede1a35cb9fb66af9 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Fri, 13 Mar 2026 12:20:27 -0700 Subject: [Rust] Move `ObjectDestructor` to own module and add some extra documentation --- plugins/workflow_objc/src/metadata/global_state.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'plugins/workflow_objc/src') 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 { -- cgit v1.3.1