From 4fd486970b57de23b5fc5767576f2d2db2e1bd6b Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Thu, 15 Nov 2012 20:47:13 -0800 Subject: [PATCH] text: Don't crash on kerning/ligatures --- src/servo-gfx/text/glyph.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/servo-gfx/text/glyph.rs b/src/servo-gfx/text/glyph.rs index 0147b91e799..6bbcb815af6 100644 --- a/src/servo-gfx/text/glyph.rs +++ b/src/servo-gfx/text/glyph.rs @@ -329,7 +329,14 @@ impl DetailedGlyphStore { fn get_detailed_glyphs_for_entry(&self, entry_offset: uint, count: u16) -> &[DetailedGlyph] { debug!("Requesting detailed glyphs[n=%u] for entry[off=%u]", count as uint, entry_offset); - assert count > 0; + // FIXME: Is this right? --pcwalton + if count == 0 { + let result = do self.detail_buffer.borrow |glyphs: &[DetailedGlyph]| { + vec::view(glyphs, 0, 0) + }; + return result; + } + assert (count as uint) <= self.detail_buffer.len(); self.ensure_sorted();