summaryrefslogtreecommitdiff
path: root/pango
diff options
context:
space:
mode:
author3 <alla@lysator.liu.se>2001-01-23 15:15:04 +0000
committerAlexander Larsson <alexl@src.gnome.org>2001-01-23 15:15:04 +0000
commitb2e1bc0147a5a91fd477ab23ab8a64be0bb94be4 (patch)
treeef2f6ccc206bfb82817b83428fd4f41592fc2b7f /pango
parentff7d31690c238cfdf8ed7d071cd34621a2dd7bb2 (diff)
downloadpango-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.c5
-rw-r--r--pango/pango-layout.c2
-rw-r--r--pango/pango-utils.c10
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++;