From 2365a903b3cad138e265ffd60e86d267bfac4a7e Mon Sep 17 00:00:00 2001 From: "Brian J. Burg" Date: Mon, 29 Oct 2012 16:41:17 -0700 Subject: [PATCH] Move the workaround for Issue #163 next to the typedef. --- src/servo/text/font.rs | 3 +-- src/servo/text/shaper.rs | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/servo/text/font.rs b/src/servo/text/font.rs index 661f4516def..ed3870e39a8 100644 --- a/src/servo/text/font.rs +++ b/src/servo/text/font.rs @@ -117,8 +117,7 @@ impl Font { None => {} } - // XXX(Issue #163): wrong! use typedef (as commented out) - let shaper = @harfbuzz::shaper::HarfbuzzShaper::new(self); + let shaper = @Shaper::new(self); self.shaper = Some(shaper); shaper } diff --git a/src/servo/text/shaper.rs b/src/servo/text/shaper.rs index 28587f3021e..7b0c9531c3c 100644 --- a/src/servo/text/shaper.rs +++ b/src/servo/text/shaper.rs @@ -4,5 +4,14 @@ Uniscribe, Pango, or Coretext. Currently, only harfbuzz bindings are implemented. */ +use font::Font; pub type Shaper/& = harfbuzz::shaper::HarfbuzzShaper; + +// TODO(Issue #163): this is a workaround for static methods and +// typedefs not working well together. It should be removed. +impl Shaper { + static pub fn new(font: @Font) -> Shaper { + harfbuzz::shaper::HarfbuzzShaper::new(font) + } +} \ No newline at end of file