diff options
Diffstat (limited to 'components/script/dom/bindings/weakref.rs')
-rw-r--r-- | components/script/dom/bindings/weakref.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/components/script/dom/bindings/weakref.rs b/components/script/dom/bindings/weakref.rs index 6ece47cea3b..885fa62cdc1 100644 --- a/components/script/dom/bindings/weakref.rs +++ b/components/script/dom/bindings/weakref.rs @@ -86,7 +86,9 @@ impl<T: WeakReferenceable> WeakRef<T> { /// DomRoot a weak reference. Returns `None` if the object was already collected. pub fn root(&self) -> Option<DomRoot<T>> { - unsafe { &*self.ptr.get() }.value.get().map(DomRoot::new) + unsafe { &*self.ptr.get() }.value.get().map(|ptr| unsafe { + DomRoot::from_ref(&*ptr.get()) + }) } /// Return whether the weakly-referenced object is still alive. |