aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/weakref.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/weakref.rs')
-rw-r--r--components/script/dom/bindings/weakref.rs4
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.