aboutsummaryrefslogtreecommitdiffstats
path: root/components/gfx/text
diff options
context:
space:
mode:
authorMatt Brubeck <mbrubeck@limpet.net>2016-05-18 10:46:37 -0700
committerMatt Brubeck <mbrubeck@limpet.net>2016-05-19 09:44:56 -0700
commit1eab6fbb2e71e8daeece6e29308f3be2b3c7c5a1 (patch)
tree39f97503033e4df0f2a3fb73d5396ed0ecee1384 /components/gfx/text
parent2d5dc8fa6db4d714c2018d78f502b3298a32cfaf (diff)
downloadservo-1eab6fbb2e71e8daeece6e29308f3be2b3c7c5a1.tar.gz
servo-1eab6fbb2e71e8daeece6e29308f3be2b3c7c5a1.zip
Simplify FontTableMethods::with_buffer
Diffstat (limited to 'components/gfx/text')
-rw-r--r--components/gfx/text/shaping/harfbuzz.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/components/gfx/text/shaping/harfbuzz.rs b/components/gfx/text/shaping/harfbuzz.rs
index 964ba7cf396..ff765818069 100644
--- a/components/gfx/text/shaping/harfbuzz.rs
+++ b/components/gfx/text/shaping/harfbuzz.rs
@@ -529,15 +529,13 @@ extern fn font_table_func(_: *mut hb_face_t,
// this raw pointer back to `destroy_blob_func` which will deallocate the Box.
let font_table_ptr = Box::into_raw(font_table);
- let mut blob: *mut hb_blob_t = ptr::null_mut();
- (*font_table_ptr).with_buffer(|buf: *const u8, len: usize| {
- // HarfBuzz calls `destroy_blob_func` when the buffer is no longer needed.
- blob = hb_blob_create(buf as *const c_char,
- len as c_uint,
+ let buf = (*font_table_ptr).buffer();
+ // HarfBuzz calls `destroy_blob_func` when the buffer is no longer needed.
+ let blob = hb_blob_create(buf.as_ptr() as *const c_char,
+ buf.len() as c_uint,
HB_MEMORY_MODE_READONLY,
font_table_ptr as *mut c_void,
Some(destroy_blob_func));
- });
assert!(!blob.is_null());
blob