From c12b4029aa7df8748c097ebae71c654212fed72d Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sun, 22 Feb 2015 16:32:33 +0100 Subject: [PATCH] Only unwrap the object once when finalizing. Previously, we had 'value' and 'this' locals, both storing a pointer to the DOM object, for no good reason. --- components/script/dom/bindings/codegen/CodegenRust.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 29a81f771af..a3f9b6fd1d5 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -4040,10 +4040,9 @@ let this: *const %s = unwrap::<%s>(obj); def finalizeHook(descriptor, hookName, context): release = """\ -let value = unwrap::<%s>(obj); -let _ = Box::from_raw(value as *mut %s); +let _ = Box::from_raw(this as *mut %s); debug!("%s finalize: {:p}", this);\ -""" % (descriptor.concreteType, descriptor.concreteType, descriptor.concreteType) +""" % (descriptor.concreteType, descriptor.concreteType) return release class CGClassTraceHook(CGAbstractClassHook):