summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2018-01-15 15:22:13 +0200
committerKhaled Hosny <khaledhosny@eglug.org>2018-01-16 00:42:27 +0100
commit3b773d5b41628c1ccf52bdd0d7962183d54c4138 (patch)
tree7af60be5fbc9fd2191bb77a9aafa0cd09e7a459e /external
parent1a156644e27a380daed217707a9cff9319f70a49 (diff)
Upload HarfBuzz 1.7.4
Change-Id: I7dd1f87dc95d0fb190755a8742d28ef8679d7b1e Reviewed-on: https://gerrit.libreoffice.org/47897 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Diffstat (limited to 'external')
-rw-r--r--external/harfbuzz/UnpackedTarball_harfbuzz.mk2
-rw-r--r--external/harfbuzz/revert-make-inert.patch200
2 files changed, 0 insertions, 202 deletions
diff --git a/external/harfbuzz/UnpackedTarball_harfbuzz.mk b/external/harfbuzz/UnpackedTarball_harfbuzz.mk
index 537862531bfd..8ec1c8d3ab23 100644
--- a/external/harfbuzz/UnpackedTarball_harfbuzz.mk
+++ b/external/harfbuzz/UnpackedTarball_harfbuzz.mk
@@ -17,8 +17,6 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,harfbuzz,0))
$(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \
external/harfbuzz/clang-cl.patch \
- external/harfbuzz/ubsan.patch \
- external/harfbuzz/revert-make-inert.patch \
))
ifneq ($(ENABLE_RUNTIME_OPTIMIZATIONS),TRUE)
diff --git a/external/harfbuzz/revert-make-inert.patch b/external/harfbuzz/revert-make-inert.patch
deleted file mode 100644
index 366750d87fb9..000000000000
--- a/external/harfbuzz/revert-make-inert.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From 93f7c1652a05e806c2e3ac7edf498d2f4a508a3a Mon Sep 17 00:00:00 2001
-From: Behdad Esfahbod <behdad@behdad.org>
-Date: Tue, 14 Nov 2017 10:59:54 -0800
-Subject: [PATCH] Revert "[glib/ucdn/icu/ft/ot] Make returned funcs inert"
-
-This reverts commit 5daf3bd4494cce6b4fb074533be9e99c4d9e0edd.
-
-If other atexit callbacks try to destruct the objects we destruct
-in atexit callbacks, bad things will happen.
-
-I'll come up with some other way to catch premature destruction
-of HB-owned objects.
-
-Fixes https://github.com/behdad/harfbuzz/issues/618
----
- src/hb-ft.cc | 3 ---
- src/hb-glib.cc | 3 ---
- src/hb-icu.cc | 3 ---
- src/hb-object-private.hh | 37 ++++++-------------------------------
- src/hb-ot-font.cc | 3 ---
- src/hb-ucdn.cc | 3 ---
- 6 files changed, 6 insertions(+), 46 deletions(-)
-
-diff --git src/hb-ft.cc src/hb-ft.cc
-index 68c774547..0f15f8c3d 100644
---- src/hb-ft.cc
-+++ src/hb-ft.cc
-@@ -423,7 +423,6 @@ static hb_font_funcs_t *static_ft_funcs = nullptr;
- static
- void free_static_ft_funcs (void)
- {
-- hb_object_undo_inert (static_ft_funcs);
- hb_font_funcs_destroy (static_ft_funcs);
- }
- #endif
-@@ -454,10 +453,8 @@ _hb_ft_font_set_funcs (hb_font_t *font, FT_Face ft_face, bool unref)
- hb_font_funcs_set_glyph_from_name_func (funcs, hb_ft_get_glyph_from_name, nullptr, nullptr);
-
- hb_font_funcs_make_immutable (funcs);
-- hb_object_make_inert (funcs);
-
- if (!hb_atomic_ptr_cmpexch (&static_ft_funcs, nullptr, funcs)) {
-- hb_object_undo_inert (funcs);
- hb_font_funcs_destroy (funcs);
- goto retry;
- }
-diff --git src/hb-glib.cc src/hb-glib.cc
-index 31de68e86..50c30e9c7 100644
---- src/hb-glib.cc
-+++ src/hb-glib.cc
-@@ -370,7 +370,6 @@ static hb_unicode_funcs_t *static_glib_funcs = nullptr;
- static
- void free_static_glib_funcs (void)
- {
-- hb_object_undo_inert (static_glib_funcs);
- hb_unicode_funcs_destroy (static_glib_funcs);
- }
- #endif
-@@ -391,10 +390,8 @@ hb_glib_get_unicode_funcs (void)
- #undef HB_UNICODE_FUNC_IMPLEMENT
-
- hb_unicode_funcs_make_immutable (funcs);
-- hb_object_make_inert (funcs);
-
- if (!hb_atomic_ptr_cmpexch (&static_glib_funcs, nullptr, funcs)) {
-- hb_object_undo_inert (funcs);
- hb_unicode_funcs_destroy (funcs);
- goto retry;
- }
-diff --git src/hb-icu.cc src/hb-icu.cc
-index 44a198937..552eaeca5 100644
---- src/hb-icu.cc
-+++ src/hb-icu.cc
-@@ -351,7 +351,6 @@ static hb_unicode_funcs_t *static_icu_funcs = nullptr;
- static
- void free_static_icu_funcs (void)
- {
-- hb_object_undo_inert (static_icu_funcs);
- hb_unicode_funcs_destroy (static_icu_funcs);
- }
- #endif
-@@ -380,10 +379,8 @@ hb_icu_get_unicode_funcs (void)
- #undef HB_UNICODE_FUNC_IMPLEMENT
-
- hb_unicode_funcs_make_immutable (funcs);
-- hb_object_make_inert (funcs);
-
- if (!hb_atomic_ptr_cmpexch (&static_icu_funcs, nullptr, funcs)) {
-- hb_object_undo_inert (funcs);
- hb_unicode_funcs_destroy (funcs);
- goto retry;
- }
-diff --git src/hb-object-private.hh src/hb-object-private.hh
-index 0dada492c..baa1f8f05 100644
---- src/hb-object-private.hh
-+++ src/hb-object-private.hh
-@@ -41,10 +41,9 @@
-
- /* reference_count */
-
--#define HB_REFERENCE_COUNT_UNCHANGABLE_VALUE -0x53043
--#define HB_REFERENCE_COUNT_UNREFFABLE_VALUE -0x07734
--#define HB_REFERENCE_COUNT_UNTOUCHABLE_VALUE -0xBEDAD
--#define HB_REFERENCE_COUNT_INIT {HB_ATOMIC_INT_INIT (HB_REFERENCE_COUNT_UNCHANGABLE_VALUE)}
-+#define HB_REFERENCE_COUNT_INERT_VALUE -1
-+#define HB_REFERENCE_COUNT_POISON_VALUE -0x0000DEAD
-+#define HB_REFERENCE_COUNT_INIT {HB_ATOMIC_INT_INIT(HB_REFERENCE_COUNT_INERT_VALUE)}
-
- struct hb_reference_count_t
- {
-@@ -54,23 +53,9 @@ struct hb_reference_count_t
- inline int get_unsafe (void) const { return ref_count.get_unsafe (); }
- inline int inc (void) { return ref_count.inc (); }
- inline int dec (void) { return ref_count.dec (); }
-- inline void finish (void) { ref_count.set_unsafe (HB_REFERENCE_COUNT_UNTOUCHABLE_VALUE); }
--
-- inline void make_inert (void)
-- {
-- if (get_unsafe () == HB_REFERENCE_COUNT_UNCHANGABLE_VALUE)
-- return;
-- ref_count.set_unsafe (HB_REFERENCE_COUNT_UNREFFABLE_VALUE);
-- }
-- inline void undo_inert (void)
-- {
-- if (get_unsafe () == HB_REFERENCE_COUNT_UNCHANGABLE_VALUE)
-- return;
-- assert (get_unsafe () == HB_REFERENCE_COUNT_UNREFFABLE_VALUE);
-- ref_count.set_unsafe (1);
-- }
--
-- inline bool is_inert (void) const { return ref_count.get_unsafe () < 0; }
-+ inline void finish (void) { ref_count.set_unsafe (HB_REFERENCE_COUNT_POISON_VALUE); }
-+
-+ inline bool is_inert (void) const { return ref_count.get_unsafe () == HB_REFERENCE_COUNT_INERT_VALUE; }
- inline bool is_valid (void) const { return ref_count.get_unsafe () > 0; }
- };
-
-@@ -161,16 +146,6 @@ static inline bool hb_object_is_valid (const Type *obj)
- return likely (obj->header.ref_count.is_valid ());
- }
- template <typename Type>
--static inline void hb_object_make_inert (Type *obj)
--{
-- obj->header.ref_count.make_inert ();
--}
--template <typename Type>
--static inline void hb_object_undo_inert (Type *obj)
--{
-- obj->header.ref_count.undo_inert ();
--}
--template <typename Type>
- static inline Type *hb_object_reference (Type *obj)
- {
- hb_object_trace (obj, HB_FUNC);
-diff --git src/hb-ot-font.cc src/hb-ot-font.cc
-index 72d3c5836..47416012c 100644
---- src/hb-ot-font.cc
-+++ src/hb-ot-font.cc
-@@ -663,7 +663,6 @@ static hb_font_funcs_t *static_ot_funcs = nullptr;
- static
- void free_static_ot_funcs (void)
- {
-- hb_object_undo_inert (static_ot_funcs);
- hb_font_funcs_destroy (static_ot_funcs);
- }
- #endif
-@@ -694,10 +693,8 @@ _hb_ot_get_font_funcs (void)
- hb_font_funcs_set_glyph_from_name_func (funcs, hb_ot_get_glyph_from_name, nullptr, nullptr);
-
- hb_font_funcs_make_immutable (funcs);
-- hb_object_make_inert (funcs);
-
- if (!hb_atomic_ptr_cmpexch (&static_ot_funcs, nullptr, funcs)) {
-- hb_object_undo_inert (funcs);
- hb_font_funcs_destroy (funcs);
- goto retry;
- }
-diff --git src/hb-ucdn.cc src/hb-ucdn.cc
-index 99266724f..9515bda25 100644
---- src/hb-ucdn.cc
-+++ src/hb-ucdn.cc
-@@ -237,7 +237,6 @@ static hb_unicode_funcs_t *static_ucdn_funcs = nullptr;
- static
- void free_static_ucdn_funcs (void)
- {
-- hb_object_undo_inert (static_ucdn_funcs);
- hb_unicode_funcs_destroy (static_ucdn_funcs);
- }
- #endif
-@@ -259,10 +258,8 @@ hb_ucdn_get_unicode_funcs (void)
- #undef HB_UNICODE_FUNC_IMPLEMENT
-
- hb_unicode_funcs_make_immutable (funcs);
-- hb_object_make_inert (funcs);
-
- if (!hb_atomic_ptr_cmpexch (&static_ucdn_funcs, nullptr, funcs)) {
-- hb_object_undo_inert (funcs);
- hb_unicode_funcs_destroy (funcs);
- goto retry;
- }