diff options
author | 3 <alla@lysator.liu.se> | 2001-01-23 15:15:04 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2001-01-23 15:15:04 +0000 |
commit | b2e1bc0147a5a91fd477ab23ab8a64be0bb94be4 (patch) | |
tree | ef2f6ccc206bfb82817b83428fd4f41592fc2b7f /pango | |
parent | ff7d31690c238cfdf8ed7d071cd34621a2dd7bb2 (diff) | |
download | pango-b2e1bc0147a5a91fd477ab23ab8a64be0bb94be4.tar.gz |
Free item->extra_attrs list.
2001-01-23 <alla@lysator.liu.se>
* pango/pango-item.c (pango_item_free):
Free item->extra_attrs list.
* pango/pango-layout.c (process_item):
Don't leak copy of item.
* pango/pango-utils.c (read_config_file):
If the config file open fails, don't leak the
temp buffers.
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pango-item.c | 5 | ||||
-rw-r--r-- | pango/pango-layout.c | 2 | ||||
-rw-r--r-- | pango/pango-utils.c | 10 |
3 files changed, 12 insertions, 5 deletions
diff --git a/pango/pango-item.c b/pango/pango-item.c index b13b60e9..73f96d2b 100644 --- a/pango/pango-item.c +++ b/pango/pango-item.c @@ -81,7 +81,10 @@ void pango_item_free (PangoItem *item) { if (item->extra_attrs) - g_slist_foreach (item->extra_attrs, (GFunc)pango_attribute_destroy, NULL); + { + g_slist_foreach (item->extra_attrs, (GFunc)pango_attribute_destroy, NULL); + g_slist_free (item->extra_attrs); + } g_object_unref (G_OBJECT (item->analysis.font)); diff --git a/pango/pango-layout.c b/pango/pango-layout.c index aae3c4a3..068077cb 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -2345,7 +2345,7 @@ process_item (PangoLayout *layout, } else { - PangoItem *new_item = pango_item_copy (item); + PangoItem *new_item; length = g_utf8_offset_to_pointer (text + item->offset, break_num_chars) - (text + item->offset); diff --git a/pango/pango-utils.c b/pango/pango-utils.c index d9958905..504986b6 100644 --- a/pango/pango-utils.c +++ b/pango/pango-utils.c @@ -429,9 +429,9 @@ read_config_file (const char *filename, gboolean enoent_error) { FILE *file; - GString *line_buffer = g_string_new (NULL); - GString *tmp_buffer1 = g_string_new (NULL); - GString *tmp_buffer2 = g_string_new (NULL); + GString *line_buffer; + GString *tmp_buffer1; + GString *tmp_buffer2; char *errstring = NULL; const char *pos; char *section = NULL; @@ -446,6 +446,10 @@ read_config_file (const char *filename, gboolean enoent_error) return; } + line_buffer = g_string_new (NULL); + tmp_buffer1 = g_string_new (NULL); + tmp_buffer2 = g_string_new (NULL); + while (pango_read_line (file, line_buffer)) { line++; |