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