[HarfBuzz] harfbuzz: Branch 'master' - 2 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Thu Aug 9 05:10:17 UTC 2018


 NEWS                        |    6 ++++++
 RELEASING.md                |    3 +++
 configure.ac                |    2 +-
 src/hb-machinery-private.hh |   13 ++++++++++---
 src/hb-version.h            |    4 ++--
 5 files changed, 22 insertions(+), 6 deletions(-)

New commits:
commit b6fdcf4f8bd09e065c767939125861c9dc8ff18f
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Aug 8 21:54:08 2018 -0700

    1.8.7

diff --git a/NEWS b/NEWS
index e97a501d..87907ca8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+Overview of changes leading to 1.8.7
+Wednesday, August 8, 2018
+====================================
+- Fix assertion failure with GDEF-blacklisted fonts.
+
+
 Overview of changes leading to 1.8.6
 Tuesday, August 7, 2018
 ====================================
diff --git a/RELEASING.md b/RELEASING.md
index c57f8466..d431871c 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -25,6 +25,9 @@ HarfBuzz release walk-through checklist:
 
 6. Do "make distcheck", if it passes, you get a tarball.
    Otherwise, fix things and commit them separately before making release,
+   Note: Check src/hb-version.h and make sure the new version number is
+   there.  Sometimes, it does not get updated.  If that's the case,
+   "touch configure.ac" and rebuild.  TODO: debug.
 
 7. "make release-files".  Enter your GPG password.  This creates a sha256 hash
    and signs it.
diff --git a/configure.ac b/configure.ac
index c03d79dc..a32b8632 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [1.8.6],
+        [1.8.7],
         [https://github.com/harfbuzz/harfbuzz/issues/new],
         [harfbuzz],
         [http://harfbuzz.org/])
diff --git a/src/hb-version.h b/src/hb-version.h
index 7406ea8c..32d95f80 100644
--- a/src/hb-version.h
+++ b/src/hb-version.h
@@ -38,9 +38,9 @@ HB_BEGIN_DECLS
 
 #define HB_VERSION_MAJOR 1
 #define HB_VERSION_MINOR 8
-#define HB_VERSION_MICRO 6
+#define HB_VERSION_MICRO 7
 
-#define HB_VERSION_STRING "1.8.6"
+#define HB_VERSION_STRING "1.8.7"
 
 #define HB_VERSION_ATLEAST(major,minor,micro) \
 	((major)*10000+(minor)*100+(micro) <= \
commit 51ffc3e65aacbece63995be99e2bc20538e3eb75
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Aug 8 22:01:04 2018 -0700

    Fix previous commit to use atomic operations

diff --git a/src/hb-machinery-private.hh b/src/hb-machinery-private.hh
index 39a7fd1f..ec41e2bc 100644
--- a/src/hb-machinery-private.hh
+++ b/src/hb-machinery-private.hh
@@ -639,9 +639,16 @@ struct hb_lazy_loader_t
 
   inline void set_stored (Stored *instance_)
   {
-    if (instance)
-      thiz ()->destroy (instance);
-    instance = instance_;
+    /* This *must* be called when there are no other threads accessing.
+     * However, to make TSan, etc, happy, we using cmpexch. */
+  retry:
+    Stored *p = (Stored *) hb_atomic_ptr_get (&this->instance);
+    if (p)
+    {
+      if (unlikely (!hb_atomic_ptr_cmpexch (const_cast<Stored **>(&this->instance), p, instance_)))
+        goto retry;
+      thiz ()->destroy (p);
+    }
   }
 
   inline const Returned * get (void) const


More information about the HarfBuzz mailing list