Bug 1262774 - Cherry-pick upstream fix for broken mark filter set support in harfbuzz. r=jrmuizel
authorJonathan Kew <jkew@mozilla.com>
Thu, 07 Apr 2016 13:02:35 +0100
changeset 292188 556ead25fa217327f8d116b4390db1f459704636
parent 292187 e12d01ac13b063768a1ebcddd638120806b0b745
child 292189 e17e914479ba7db1e948f0091dc9ce3a74b858fe
push id74768
push userjkew@mozilla.com
push dateThu, 07 Apr 2016 12:02:52 +0000
treeherdermozilla-inbound@556ead25fa21 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel
bugs1262774
milestone48.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1262774 - Cherry-pick upstream fix for broken mark filter set support in harfbuzz. r=jrmuizel
gfx/harfbuzz/README-mozilla
gfx/harfbuzz/src/hb-open-type-private.hh
--- a/gfx/harfbuzz/README-mozilla
+++ b/gfx/harfbuzz/README-mozilla
@@ -1,20 +1,24 @@
-gfx/harfbuzz status as of 2015-04-25:
+gfx/harfbuzz status as of 2016-04-07:
 
 This directory contains the harfbuzz source from the 'master' branch of
 https://github.com/behdad/harfbuzz.
 
+Current version: 1.2.2
+Plus cherry-picked commit 6dd80faf0dcb3e8a8915c3a25da44e2a67cb0cd8 to fix
+broken mark filter set support.
+
+
 UPDATING:
 
 Note that gfx/harfbuzz/src/hb-version.h is not present in the upstream Git
 repository. It is created at build time by the harfbuzz build system;
 but as we don't use that build system in mozilla, it is necessary to refresh
-this files when updating harfbuzz, and check them into the mozilla tree.
+this file when updating harfbuzz, and check it into the mozilla tree.
 
 The normal approach to updating harfbuzz, therefore, is to pull the latest HB
 source into a scratch directory and do a local build; then copy the original
-sources AND the generated headers mentioned above from the build directory into
+sources AND the generated header mentioned above from the build directory into
 the mozilla tree.
 
-In addition, the src/Makefile.in file here is NOT from upstream, nor is it
-generated from src/Makefile.am (the original harfbuzz version); it is a mozilla-
-specific makefile that is maintained by hand.
+If the collection of source files changes, manual updates to moz.build may be
+needed, as we don't use the upstream makefiles.
--- a/gfx/harfbuzz/src/hb-open-type-private.hh
+++ b/gfx/harfbuzz/src/hb-open-type-private.hh
@@ -737,17 +737,17 @@ struct CheckSum : ULONG
 
 /*
  * Version Numbers
  */
 
 template <typename FixedType=USHORT>
 struct FixedVersion
 {
-  inline uint32_t to_int (void) const { return (major << sizeof(FixedType)) + minor; }
+  inline uint32_t to_int (void) const { return (major << (sizeof(FixedType) * 8)) + minor; }
 
   inline bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
     return_trace (c->check_struct (this));
   }
 
   FixedType major;