diff options
Diffstat (limited to 'src/components/script/dom')
-rw-r--r-- | src/components/script/dom/node.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index e797adb3e12..0936b9e490b 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -223,6 +223,10 @@ impl<'self, View> AbstractNode<View> { /// Sets the layout data, unsafely casting the type as layout wishes. Only layout is allowed /// to call this. This is wildly unsafe and is therefore marked as such. pub unsafe fn unsafe_set_layout_data<T>(self, data: @mut T) { + // Don't decrement the refcount on data, since we're giving it to the + // base structure. + cast::forget(data); + do self.with_mut_base |base| { base.layout_data = Some(transmute(data)) } |