hb_object's user_data is created lazily. The previous implementation of hb_object_set_user_data created space for the user_data but did not actually construct it. This means that hb_user_data_array_t's lock was not constructed. If hb_mutex_t is backed by an implementation which requires that it be constructed (not just zero initialized) then errors will occur when taking the lock when setting the user data. Change hb_object_set_user_data to construct the user_data in the created space and hb_object_fini to call the destructor. |
||
---|---|---|
.ci | ||
.circleci | ||
.github/workflows | ||
docs | ||
m4 | ||
perf | ||
src | ||
subprojects | ||
test | ||
util | ||
.clang-format | ||
.codecov.yml | ||
.editorconfig | ||
AUTHORS | ||
BUILD.md | ||
CMakeLists.txt | ||
CONFIG.md | ||
COPYING | ||
Makefile.am | ||
NEWS | ||
README | ||
README.md | ||
README.mingw.md | ||
README.python.md | ||
RELEASING.md | ||
TESTING.md | ||
THANKS | ||
TODO | ||
autogen.sh | ||
configure.ac | ||
git.mk | ||
harfbuzz.doap | ||
meson.build | ||
meson_options.txt | ||
mingw-configure.sh | ||
replace-enum-strings.cmake |
README.md
This is HarfBuzz, a text shaping library.
For bug reports, mailing list, and other information please visit:
For license information, see COPYING.
For build information, see BUILD.md.
For custom configurations, see CONFIG.md.
For test execution, see TESTING.md.
Documentation: https://harfbuzz.github.io