diff options
-rw-r--r-- | components/gfx/lib.rs | 1 | ||||
-rw-r--r-- | components/gfx/text/shaping/harfbuzz.rs | 12 | ||||
-rw-r--r-- | components/script/lib.rs | 2 | ||||
-rw-r--r-- | components/script_plugins/lib.rs | 5 | ||||
-rw-r--r-- | ports/servo/main.rs | 2 |
5 files changed, 13 insertions, 9 deletions
diff --git a/components/gfx/lib.rs b/components/gfx/lib.rs index ce24b697444..97bda55b563 100644 --- a/components/gfx/lib.rs +++ b/components/gfx/lib.rs @@ -7,7 +7,6 @@ #![feature(box_syntax)] #![feature(cfg_target_feature)] #![feature(range_contains)] -#![feature(unique)] #![deny(unsafe_code)] diff --git a/components/gfx/text/shaping/harfbuzz.rs b/components/gfx/text/shaping/harfbuzz.rs index ce61dd30c0e..1069e3460ba 100644 --- a/components/gfx/text/shaping/harfbuzz.rs +++ b/components/gfx/text/shaping/harfbuzz.rs @@ -164,7 +164,7 @@ impl Shaper { Shaper::float_to_fixed(pt_size) as c_int); // configure static function callbacks. - hb_font_set_funcs(hb_font, HB_FONT_FUNCS.as_ptr(), font as *mut Font as *mut c_void, None); + hb_font_set_funcs(hb_font, HB_FONT_FUNCS.0, font as *mut Font as *mut c_void, None); Shaper { hb_face: hb_face, @@ -411,9 +411,13 @@ impl Shaper { } } -// Callbacks from Harfbuzz when font map and glyph advance lookup needed. +/// Callbacks from Harfbuzz when font map and glyph advance lookup needed. +struct FontFuncs(*mut hb_font_funcs_t); + +unsafe impl Sync for FontFuncs {} + lazy_static! { - static ref HB_FONT_FUNCS: ptr::Unique<hb_font_funcs_t> = unsafe { + static ref HB_FONT_FUNCS: FontFuncs = unsafe { let hb_funcs = hb_font_funcs_create(); hb_font_funcs_set_glyph_func(hb_funcs, Some(glyph_func), ptr::null_mut(), None); hb_font_funcs_set_glyph_h_advance_func( @@ -421,7 +425,7 @@ lazy_static! { hb_font_funcs_set_glyph_h_kerning_func( hb_funcs, Some(glyph_h_kerning_func), ptr::null_mut(), None); - ptr::Unique::new_unchecked(hb_funcs) + FontFuncs(hb_funcs) }; } diff --git a/components/script/lib.rs b/components/script/lib.rs index 3c0946c5c2c..2b9c5b8d15f 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -14,9 +14,7 @@ #![feature(on_unimplemented)] #![feature(plugin)] #![feature(proc_macro)] -#![feature(stmt_expr_attributes)] #![feature(try_from)] -#![feature(unboxed_closures)] #![feature(untagged_unions)] #![deny(unsafe_code)] diff --git a/components/script_plugins/lib.rs b/components/script_plugins/lib.rs index b35acdf3109..7548ccd92d2 100644 --- a/components/script_plugins/lib.rs +++ b/components/script_plugins/lib.rs @@ -15,7 +15,10 @@ #![deny(unsafe_code)] -#![feature(box_syntax, plugin, plugin_registrar, rustc_private)] +#![feature(box_syntax)] +#![feature(plugin)] +#![feature(plugin_registrar)] +#![feature(rustc_private)] #[macro_use] extern crate rustc; diff --git a/ports/servo/main.rs b/ports/servo/main.rs index 2df41625f22..19063d1176a 100644 --- a/ports/servo/main.rs +++ b/ports/servo/main.rs @@ -15,7 +15,7 @@ //! //! [glutin]: https://github.com/tomaka/glutin -#![feature(start, core_intrinsics)] +#![feature(core_intrinsics)] #[cfg(target_os = "android")] extern crate android_injected_glue; |