From 1cef12571f9de59a80dcf3804d90f3090dd24d29 Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Mon, 14 Oct 2002 16:30:59 +0000 Subject: unref the PangoOTInfo after extracting the ruleset from it (#91541). 2002-10-14 Sven Neumann * modules/arabic/arabic-ft2.c (get_ruleset): unref the PangoOTInfo after extracting the ruleset from it (#91541). * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize) * pango_pangoxft-fontmap.c (pango_xft_font_map_finalize): destroy the fonts hash_table (#91697). * pango/pangoft2-fontmap.c (pango_ft2_font_set_free) * pango_pangoxft-fontmap.c (pango_xft_font_set_free): free the pattern array (#91698). --- ChangeLog | 13 +++++++++++++ ChangeLog.pre-1-10 | 13 +++++++++++++ ChangeLog.pre-1-2 | 13 +++++++++++++ ChangeLog.pre-1-4 | 13 +++++++++++++ ChangeLog.pre-1-6 | 13 +++++++++++++ ChangeLog.pre-1-8 | 13 +++++++++++++ modules/arabic/arabic-ft2.c | 7 ++++--- pango/pangoft2-fontmap.c | 4 +++- pango/pangoxft-fontmap.c | 2 ++ 9 files changed, 87 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 54be8c34..2407f0f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2002-10-14 Sven Neumann + + * modules/arabic/arabic-ft2.c (get_ruleset): unref the PangoOTInfo + after extracting the ruleset from it (#91541). + + * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize) + * pango_pangoxft-fontmap.c (pango_xft_font_map_finalize): destroy + the fonts hash_table (#91697). + + * pango/pangoft2-fontmap.c (pango_ft2_font_set_free) + * pango_pangoxft-fontmap.c (pango_xft_font_set_free): free the + pattern array (#91698). + Sun Oct 13 12:34:41 2002 Owen Taylor * === Released 1.0.5 === diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index 54be8c34..2407f0f7 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,16 @@ +2002-10-14 Sven Neumann + + * modules/arabic/arabic-ft2.c (get_ruleset): unref the PangoOTInfo + after extracting the ruleset from it (#91541). + + * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize) + * pango_pangoxft-fontmap.c (pango_xft_font_map_finalize): destroy + the fonts hash_table (#91697). + + * pango/pangoft2-fontmap.c (pango_ft2_font_set_free) + * pango_pangoxft-fontmap.c (pango_xft_font_set_free): free the + pattern array (#91698). + Sun Oct 13 12:34:41 2002 Owen Taylor * === Released 1.0.5 === diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2 index 54be8c34..2407f0f7 100644 --- a/ChangeLog.pre-1-2 +++ b/ChangeLog.pre-1-2 @@ -1,3 +1,16 @@ +2002-10-14 Sven Neumann + + * modules/arabic/arabic-ft2.c (get_ruleset): unref the PangoOTInfo + after extracting the ruleset from it (#91541). + + * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize) + * pango_pangoxft-fontmap.c (pango_xft_font_map_finalize): destroy + the fonts hash_table (#91697). + + * pango/pangoft2-fontmap.c (pango_ft2_font_set_free) + * pango_pangoxft-fontmap.c (pango_xft_font_set_free): free the + pattern array (#91698). + Sun Oct 13 12:34:41 2002 Owen Taylor * === Released 1.0.5 === diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4 index 54be8c34..2407f0f7 100644 --- a/ChangeLog.pre-1-4 +++ b/ChangeLog.pre-1-4 @@ -1,3 +1,16 @@ +2002-10-14 Sven Neumann + + * modules/arabic/arabic-ft2.c (get_ruleset): unref the PangoOTInfo + after extracting the ruleset from it (#91541). + + * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize) + * pango_pangoxft-fontmap.c (pango_xft_font_map_finalize): destroy + the fonts hash_table (#91697). + + * pango/pangoft2-fontmap.c (pango_ft2_font_set_free) + * pango_pangoxft-fontmap.c (pango_xft_font_set_free): free the + pattern array (#91698). + Sun Oct 13 12:34:41 2002 Owen Taylor * === Released 1.0.5 === diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index 54be8c34..2407f0f7 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,16 @@ +2002-10-14 Sven Neumann + + * modules/arabic/arabic-ft2.c (get_ruleset): unref the PangoOTInfo + after extracting the ruleset from it (#91541). + + * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize) + * pango_pangoxft-fontmap.c (pango_xft_font_map_finalize): destroy + the fonts hash_table (#91697). + + * pango/pangoft2-fontmap.c (pango_ft2_font_set_free) + * pango_pangoxft-fontmap.c (pango_xft_font_set_free): free the + pattern array (#91698). + Sun Oct 13 12:34:41 2002 Owen Taylor * === Released 1.0.5 === diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index 54be8c34..2407f0f7 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,16 @@ +2002-10-14 Sven Neumann + + * modules/arabic/arabic-ft2.c (get_ruleset): unref the PangoOTInfo + after extracting the ruleset from it (#91541). + + * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize) + * pango_pangoxft-fontmap.c (pango_xft_font_map_finalize): destroy + the fonts hash_table (#91697). + + * pango/pangoft2-fontmap.c (pango_ft2_font_set_free) + * pango_pangoxft-fontmap.c (pango_xft_font_set_free): free the + pattern array (#91698). + Sun Oct 13 12:34:41 2002 Owen Taylor * === Released 1.0.5 === diff --git a/modules/arabic/arabic-ft2.c b/modules/arabic/arabic-ft2.c index faaec168..d59172d3 100644 --- a/modules/arabic/arabic-ft2.c +++ b/modules/arabic/arabic-ft2.c @@ -91,10 +91,11 @@ get_ruleset (PangoFont *font) } info = pango_ot_info_new (face); + ruleset = pango_ot_ruleset_new (info); - - if (!info) - return NULL; + + /* the ruleset holds a reference on info */ + g_object_unref (info); if (pango_ot_info_find_script (info, PANGO_OT_TABLE_GSUB, arab_tag, &script_index)) diff --git a/pango/pangoft2-fontmap.c b/pango/pangoft2-fontmap.c index 88effe78..18436391 100644 --- a/pango/pangoft2-fontmap.c +++ b/pango/pangoft2-fontmap.c @@ -160,6 +160,7 @@ pango_ft2_font_set_free (PangoFT2PatternSet *font_set) for (i = 0; i < font_set->n_patterns; i++) MiniXftPatternDestroy (font_set->patterns[i]); + g_free (font_set->patterns); g_free (font_set); } @@ -344,7 +345,8 @@ pango_ft2_font_map_finalize (GObject *object) g_queue_free (ft2fontmap->freed_fonts); g_hash_table_destroy (ft2fontmap->fontset_hash); g_hash_table_destroy (ft2fontmap->coverage_hash); - + g_hash_table_destroy (ft2fontmap->fonts); + FT_Done_FreeType (ft2fontmap->library); G_OBJECT_CLASS (parent_class)->finalize (object); diff --git a/pango/pangoxft-fontmap.c b/pango/pangoxft-fontmap.c index 52e816b6..3cb4bc7d 100644 --- a/pango/pangoxft-fontmap.c +++ b/pango/pangoxft-fontmap.c @@ -419,6 +419,7 @@ pango_xft_font_map_finalize (GObject *object) g_queue_free (xfontmap->freed_fonts); g_hash_table_destroy (xfontmap->fontset_hash); g_hash_table_destroy (xfontmap->coverage_hash); + g_hash_table_destroy (xfontmap->fonts); G_OBJECT_CLASS (parent_class)->finalize (object); } @@ -726,6 +727,7 @@ pango_xft_font_set_free (PangoXftPatternSet *font_set) for (i = 0; i < font_set->n_patterns; i++) XftPatternDestroy (font_set->patterns[i]); + g_free (font_set->patterns); g_free (font_set); } -- cgit v1.2.1