From 748198a6718adbb200ee24ac013c617f62c946a4 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 24 Nov 2018 22:16:59 -0500 Subject: [PATCH] Revert "[aat.morx] Remove set_object() business" This reverts commit ae8ed58a6e53441d9ccbf67afd8a00b815cde99e. Apparently this broke Apple Chancery from OS X 10.12 :(. Investigating... --- src/hb-aat-layout-morx-table.hh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh index 77abf45..dc406f5 100644 --- a/src/hb-aat-layout-morx-table.hh +++ b/src/hb-aat-layout-morx-table.hh @@ -1026,6 +1026,8 @@ struct Chain if (reverse) c->buffer->reverse (); + c->sanitizer.set_object (*subtable); + subtable->dispatch (c); if (reverse) @@ -1039,6 +1041,7 @@ struct Chain subtable = &StructAfter > (*subtable); c->set_lookup_index (c->lookup_index + 1); } + c->sanitizer.reset_object (); } inline unsigned int get_size (void) const { return length; } @@ -1058,10 +1061,15 @@ struct Chain unsigned int count = subtableCount; for (unsigned int i = 0; i < count; i++) { + c->reset_object (); + if (unlikely (!c->check_struct (subtable))) + return_trace (false); + c->set_object (*subtable); if (!subtable->sanitize (c)) return_trace (false); subtable = &StructAfter > (*subtable); } + c->reset_object (); return_trace (true); } -- 2.7.4