From: Behdad Esfahbod Date: Sat, 8 Sep 2007 00:05:54 +0000 (+0000) Subject: Part of Bug 474708 – pangocairo leaks memory X-Git-Tag: PANGO_1_18_2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d1826e7b5835c4fea8f2e86919a8ca74adff6ff6;p=platform%2Fupstream%2Fpango.git Part of Bug 474708 – pangocairo leaks memory 2007-09-07 Behdad Esfahbod Part of Bug 474708 – pangocairo leaks memory * pango/pangocairo-font.c (_pango_cairo_font_private_get_hex_box_info): Fix a couple leaks. * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifontmap.c (pango_cairo_atsui_font_map_finalize): * pango/pangocairo-fc.h: * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_finalize): * pango/pangocairo-win32.h: * pango/pangocairo-win32fontmap.c (pango_cairo_win32_font_map_finalize): Remove unused leftover renderer variable. * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Fix thinko. svn path=/trunk/; revision=2424 --- diff --git a/ChangeLog b/ChangeLog index 392af7e..bbbc334 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,25 @@ 2007-09-07 Behdad Esfahbod + Part of Bug 474708 – pangocairo leaks memory + + * pango/pangocairo-font.c + (_pango_cairo_font_private_get_hex_box_info): + Fix a couple leaks. + + * pango/pangocairo-atsui.h: + * pango/pangocairo-atsuifontmap.c + (pango_cairo_atsui_font_map_finalize): + * pango/pangocairo-fc.h: + * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_finalize): + * pango/pangocairo-win32.h: + * pango/pangocairo-win32fontmap.c + (pango_cairo_win32_font_map_finalize): + Remove unused leftover renderer variable. + + * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Fix thinko. + +2007-09-07 Behdad Esfahbod + * pango/pangox-fontcache.c (free_cache_entry), (pango_x_font_cache_free), (pango_x_font_cache_new), (pango_x_font_cache_load): diff --git a/pango/pangocairo-atsui.h b/pango/pangocairo-atsui.h index 25613a0..6b97ce8 100644 --- a/pango/pangocairo-atsui.h +++ b/pango/pangocairo-atsui.h @@ -38,8 +38,6 @@ struct _PangoCairoATSUIFontMap { PangoATSUIFontMap parent_instance; - PangoRenderer *renderer; - gdouble dpi; }; diff --git a/pango/pangocairo-atsuifontmap.c b/pango/pangocairo-atsuifontmap.c index 0c3e639..3f0abae 100644 --- a/pango/pangocairo-atsuifontmap.c +++ b/pango/pangocairo-atsuifontmap.c @@ -84,9 +84,6 @@ pango_cairo_atsui_font_map_finalize (GObject *object) { PangoCairoATSUIFontMap *cafontmap = PANGO_CAIRO_ATSUI_FONT_MAP (object); - if (cafontmap->renderer) - g_object_unref (cafontmap->renderer); - G_OBJECT_CLASS (pango_cairo_atsui_font_map_parent_class)->finalize (object); } diff --git a/pango/pangocairo-fc.h b/pango/pangocairo-fc.h index 82a6b7e..74f39ba 100644 --- a/pango/pangocairo-fc.h +++ b/pango/pangocairo-fc.h @@ -40,7 +40,6 @@ struct _PangoCairoFcFontMap double dpi; FT_Library library; - PangoRenderer *renderer; }; GType pango_cairo_fc_font_map_get_type (void) G_GNUC_CONST; diff --git a/pango/pangocairo-fcfontmap.c b/pango/pangocairo-fcfontmap.c index 967ca8f..98b64e7 100644 --- a/pango/pangocairo-fcfontmap.c +++ b/pango/pangocairo-fcfontmap.c @@ -74,9 +74,6 @@ pango_cairo_fc_font_map_finalize (GObject *object) { PangoCairoFcFontMap *cffontmap = (PangoCairoFcFontMap *) (object); - if (cffontmap->renderer) - g_object_unref (cffontmap->renderer); - FT_Done_FreeType (cffontmap->library); G_OBJECT_CLASS (pango_cairo_fc_font_map_parent_class)->finalize (object); diff --git a/pango/pangocairo-font.c b/pango/pangocairo-font.c index 3ca4073..8c6ab66 100644 --- a/pango/pangocairo-font.c +++ b/pango/pangocairo-font.c @@ -404,6 +404,7 @@ _pango_cairo_font_private_get_hex_box_info (PangoCairoFontPrivate *cf_priv) g_object_unref (context); } + pango_font_description_free (desc); cairo_font_options_destroy (font_options); @@ -469,6 +470,7 @@ _pango_cairo_font_private_get_hex_box_info (PangoCairoFontPrivate *cf_priv) hbi->box_descent = HINT_Y (hbi->box_descent); } + cf_priv->hbi = hbi; return hbi; } diff --git a/pango/pangocairo-win32.h b/pango/pangocairo-win32.h index f95f4fb..7a71c0a 100644 --- a/pango/pangocairo-win32.h +++ b/pango/pangocairo-win32.h @@ -39,8 +39,6 @@ struct _PangoCairoWin32FontMap PangoWin32FontMap parent_instance; double dpi; - - PangoRenderer *renderer; }; GType pango_cairo_win32_font_map_get_type (void) G_GNUC_CONST; diff --git a/pango/pangocairo-win32fontmap.c b/pango/pangocairo-win32fontmap.c index 6d097df..027b5ac 100644 --- a/pango/pangocairo-win32fontmap.c +++ b/pango/pangocairo-win32fontmap.c @@ -72,9 +72,6 @@ pango_cairo_win32_font_map_finalize (GObject *object) { PangoCairoWin32FontMap *cwfontmap = PANGO_CAIRO_WIN32_FONT_MAP (object); - if (cwfontmap->renderer) - g_object_unref (cwfontmap->renderer); - G_OBJECT_CLASS (pango_cairo_win32_font_map_parent_class)->finalize (object); } diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index 267dc48..8e2a326 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -554,7 +554,7 @@ font_hash_key_for_context (PangoFcFontMap *fcfontmap, key->context_key = NULL; } -/* Add a mapping from xfont->font_pattern to xfont */ +/* Add a mapping from fcfont->font_pattern to fcfont */ static void pango_fc_font_map_add (PangoFcFontMap *fcfontmap, PangoContext *context,