From b48a5cb51d905aa87f1b50599cf9bea1d939ccec Mon Sep 17 00:00:00 2001 From: Dan Yeaw Date: Wed, 3 Apr 2024 09:14:59 -0400 Subject: [PATCH] Fix pango_font_map_reload_font crash --- .../pango/003-remove-extra-hb-face-font.patch | 34 +++++++++++++++++++ gvsbuild/projects/pango.py | 1 + 2 files changed, 35 insertions(+) create mode 100644 gvsbuild/patches/pango/003-remove-extra-hb-face-font.patch diff --git a/gvsbuild/patches/pango/003-remove-extra-hb-face-font.patch b/gvsbuild/patches/pango/003-remove-extra-hb-face-font.patch new file mode 100644 index 000000000..a64b09a21 --- /dev/null +++ b/gvsbuild/patches/pango/003-remove-extra-hb-face-font.patch @@ -0,0 +1,34 @@ +From f41bb0b29304fb5c86d896097321d82fcc6f2168 Mon Sep 17 00:00:00 2001 +From: Luca Bacci +Date: Tue, 2 Apr 2024 19:14:41 +0200 +Subject: [PATCH] Win32: Remove extra hb_face_set_user_data() call + +Appears to be a leftover from 527e220a + +Fixes https://gitlab.gnome.org/GNOME/pango/-/issues/789 +--- + pango/pangowin32.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/pango/pangowin32.c b/pango/pangowin32.c +index 00b797baf..6781e1794 100644 +--- a/pango/pangowin32.c ++++ b/pango/pangowin32.c +@@ -1319,14 +1319,12 @@ pango_win32_font_create_hb_font (PangoFont *font) + #else + hfont = _pango_win32_font_get_hfont (font); + +- /* We are *not* allowed to destroy the HFONT here ! */ + #ifdef USE_HB_GDI + face = hb_gdi_face_create (hfont); +- +- hb_face_set_user_data (face, &key, hfont, g_free, TRUE); + #else + face = hb_face_create_for_tables (hfont_reference_table, (void *)hfont, NULL); + #endif ++ + #endif + + hb_font = hb_font_create (face); +-- +GitLab diff --git a/gvsbuild/projects/pango.py b/gvsbuild/projects/pango.py index 393d99be3..0d15fae5b 100644 --- a/gvsbuild/projects/pango.py +++ b/gvsbuild/projects/pango.py @@ -38,6 +38,7 @@ def __init__(self): ], patches=[ "002-fix-wrong-usage-gweakref.patch", + "003-remove-extra-hb-face-font.patch", ], ) if self.opts.enable_gi: