aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/gfx/lib.rs1
-rw-r--r--components/gfx/text/shaping/harfbuzz.rs12
-rw-r--r--components/script/lib.rs2
-rw-r--r--components/script_plugins/lib.rs5
-rw-r--r--ports/servo/main.rs2
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;