diff --git a/components/style/gecko_bindings/sugar/ns_t_array.rs b/components/style/gecko_bindings/sugar/ns_t_array.rs index 64ca9ffab78..e3d4e5b86bd 100644 --- a/components/style/gecko_bindings/sugar/ns_t_array.rs +++ b/components/style/gecko_bindings/sugar/ns_t_array.rs @@ -89,9 +89,11 @@ impl nsTArray { pub unsafe fn set_len(&mut self, len: u32) { // this can leak debug_assert!(len >= self.len() as u32); + if self.len() == len as usize { + return; + } self.ensure_capacity(len as usize); - let header = self.header_mut(); - header.mLength = len; + self.header_mut().mLength = len; } /// Resizes an array containing only POD elements @@ -103,6 +105,9 @@ impl nsTArray { where T: Copy, { + if self.len() == len as usize { + return; + } self.ensure_capacity(len as usize); let header = self.header_mut(); header.mLength = len;