summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author3 <alexl@redhat.com>2001-01-23 11:25:52 +0000
committerAlexander Larsson <alexl@src.gnome.org>2001-01-23 11:25:52 +0000
commitff7d31690c238cfdf8ed7d071cd34621a2dd7bb2 (patch)
tree9fc3d74df173e73c7315610731d93d4ece0df9e0
parentf685b8e639f4c28c49be358b62f85d0ccfa1415f (diff)
downloadpango-ff7d31690c238cfdf8ed7d071cd34621a2dd7bb2.tar.gz
Don't leak PangoCoverage. Move name free closer to allocation.
2001-01-23 <alexl@redhat.com> * modules/basic/basic-ft2.c (basic_engine_get_coverage): Don't leak PangoCoverage. * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font): Move name free closer to allocation. (pango_ft2_font_map_read_alias_file): Don't leak faces. (pango_ft2_font_entry_get_coverage): Don't leak font as filename and cache_file_name.
-rw-r--r--ChangeLog10
-rw-r--r--ChangeLog.pre-1-010
-rw-r--r--ChangeLog.pre-1-1010
-rw-r--r--ChangeLog.pre-1-210
-rw-r--r--ChangeLog.pre-1-410
-rw-r--r--ChangeLog.pre-1-610
-rw-r--r--ChangeLog.pre-1-810
-rw-r--r--modules/basic/basic-ft2.c4
-rw-r--r--pango/pangoft2-fontmap.c13
9 files changed, 83 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index e6ad7579..767013c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2001-01-23 <alla@lysator.liu.se>
+
+ * modules/basic/basic-ft2.c (basic_engine_get_coverage):
+ Don't leak PangoCoverage.
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font):
+ Move name free closer to allocation.
+ (pango_ft2_font_map_read_alias_file): Don't leak faces.
+ (pango_ft2_font_entry_get_coverage): Don't leak font as
+ filename and cache_file_name.
+
2001-01-22 Havoc Pennington <hp@redhat.com>
* tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g;
diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0
index e6ad7579..767013c4 100644
--- a/ChangeLog.pre-1-0
+++ b/ChangeLog.pre-1-0
@@ -1,3 +1,13 @@
+2001-01-23 <alla@lysator.liu.se>
+
+ * modules/basic/basic-ft2.c (basic_engine_get_coverage):
+ Don't leak PangoCoverage.
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font):
+ Move name free closer to allocation.
+ (pango_ft2_font_map_read_alias_file): Don't leak faces.
+ (pango_ft2_font_entry_get_coverage): Don't leak font as
+ filename and cache_file_name.
+
2001-01-22 Havoc Pennington <hp@redhat.com>
* tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g;
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index e6ad7579..767013c4 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,13 @@
+2001-01-23 <alla@lysator.liu.se>
+
+ * modules/basic/basic-ft2.c (basic_engine_get_coverage):
+ Don't leak PangoCoverage.
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font):
+ Move name free closer to allocation.
+ (pango_ft2_font_map_read_alias_file): Don't leak faces.
+ (pango_ft2_font_entry_get_coverage): Don't leak font as
+ filename and cache_file_name.
+
2001-01-22 Havoc Pennington <hp@redhat.com>
* tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g;
diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2
index e6ad7579..767013c4 100644
--- a/ChangeLog.pre-1-2
+++ b/ChangeLog.pre-1-2
@@ -1,3 +1,13 @@
+2001-01-23 <alla@lysator.liu.se>
+
+ * modules/basic/basic-ft2.c (basic_engine_get_coverage):
+ Don't leak PangoCoverage.
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font):
+ Move name free closer to allocation.
+ (pango_ft2_font_map_read_alias_file): Don't leak faces.
+ (pango_ft2_font_entry_get_coverage): Don't leak font as
+ filename and cache_file_name.
+
2001-01-22 Havoc Pennington <hp@redhat.com>
* tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g;
diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4
index e6ad7579..767013c4 100644
--- a/ChangeLog.pre-1-4
+++ b/ChangeLog.pre-1-4
@@ -1,3 +1,13 @@
+2001-01-23 <alla@lysator.liu.se>
+
+ * modules/basic/basic-ft2.c (basic_engine_get_coverage):
+ Don't leak PangoCoverage.
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font):
+ Move name free closer to allocation.
+ (pango_ft2_font_map_read_alias_file): Don't leak faces.
+ (pango_ft2_font_entry_get_coverage): Don't leak font as
+ filename and cache_file_name.
+
2001-01-22 Havoc Pennington <hp@redhat.com>
* tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g;
diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6
index e6ad7579..767013c4 100644
--- a/ChangeLog.pre-1-6
+++ b/ChangeLog.pre-1-6
@@ -1,3 +1,13 @@
+2001-01-23 <alla@lysator.liu.se>
+
+ * modules/basic/basic-ft2.c (basic_engine_get_coverage):
+ Don't leak PangoCoverage.
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font):
+ Move name free closer to allocation.
+ (pango_ft2_font_map_read_alias_file): Don't leak faces.
+ (pango_ft2_font_entry_get_coverage): Don't leak font as
+ filename and cache_file_name.
+
2001-01-22 Havoc Pennington <hp@redhat.com>
* tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g;
diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8
index e6ad7579..767013c4 100644
--- a/ChangeLog.pre-1-8
+++ b/ChangeLog.pre-1-8
@@ -1,3 +1,13 @@
+2001-01-23 <alla@lysator.liu.se>
+
+ * modules/basic/basic-ft2.c (basic_engine_get_coverage):
+ Don't leak PangoCoverage.
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_load_font):
+ Move name free closer to allocation.
+ (pango_ft2_font_map_read_alias_file): Don't leak faces.
+ (pango_ft2_font_entry_get_coverage): Don't leak font as
+ filename and cache_file_name.
+
2001-01-22 Havoc Pennington <hp@redhat.com>
* tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g;
diff --git a/modules/basic/basic-ft2.c b/modules/basic/basic-ft2.c
index 10a9bec2..01218dc5 100644
--- a/modules/basic/basic-ft2.c
+++ b/modules/basic/basic-ft2.c
@@ -285,10 +285,12 @@ static PangoCoverage *
basic_engine_get_coverage (PangoFont *font,
const char *lang)
{
- PangoCoverage *result = pango_coverage_new ();
+ PangoCoverage *result;
#if 0
gunichar wc;
+ result = pango_coverage_new ();
+
for (wc = 0; wc < 65536; wc++)
if (find_char (font, wc))
pango_coverage_set (result, wc, PANGO_COVERAGE_EXACT);
diff --git a/pango/pangoft2-fontmap.c b/pango/pangoft2-fontmap.c
index 6728361c..fab370d0 100644
--- a/pango/pangoft2-fontmap.c
+++ b/pango/pangoft2-fontmap.c
@@ -520,6 +520,8 @@ pango_ft2_font_map_load_font (PangoFontMap *fontmap,
g_strdown (name);
family_entry = g_hash_table_lookup (ft2fontmap->families, name);
+ g_free (name);
+
if (family_entry)
{
PangoFT2FontEntry *best_match = NULL;
@@ -583,7 +585,6 @@ pango_ft2_font_map_load_font (PangoFontMap *fontmap,
}
}
- g_free (name);
return result;
}
@@ -686,6 +687,8 @@ pango_ft2_font_map_read_alias_file (PangoFT2FontMap *ft2fontmap,
}
}
+ g_strfreev (faces);
+
/* Insert the font entry into our structures */
family_entry = pango_ft2_get_family_entry (ft2fontmap, font_entry->description.family_name);
@@ -941,6 +944,7 @@ pango_ft2_font_entry_get_coverage (PangoFT2FontEntry *entry,
PangoFontDescription *description;
FILE *cache_file;
gchar *cache_file_name;
+ gchar *font_as_filename;
guchar *buf;
int buflen;
@@ -952,12 +956,14 @@ pango_ft2_font_entry_get_coverage (PangoFT2FontEntry *entry,
}
description = pango_font_describe (font);
+ font_as_filename = pango_font_description_to_filename (description);
cache_file_name = g_strconcat (pango_get_sysconf_subdirectory (),
G_DIR_SEPARATOR_S "cache.ft2" G_DIR_SEPARATOR_S,
- pango_font_description_to_filename (description),
+ font_as_filename,
".",
lang ? lang : "",
NULL);
+ g_free (font_as_filename);
pango_font_description_free (description);
PING (("trying to load %s", cache_file_name));
@@ -1008,7 +1014,6 @@ pango_ft2_font_entry_get_coverage (PangoFT2FontEntry *entry,
PING (("saving %d bytes to %s", buflen, cache_file_name));
fwrite (buf, buflen, 1, cache_file);
fclose (cache_file);
- g_free (cache_file_name);
g_free (buf);
}
}
@@ -1019,6 +1024,8 @@ pango_ft2_font_entry_get_coverage (PangoFT2FontEntry *entry,
pango_coverage_ref (result);
}
+ g_free (cache_file_name);
+
return result;
}