summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ChangeLog.pre-1-08
-rw-r--r--ChangeLog.pre-1-108
-rw-r--r--ChangeLog.pre-1-28
-rw-r--r--ChangeLog.pre-1-48
-rw-r--r--ChangeLog.pre-1-68
-rw-r--r--ChangeLog.pre-1-88
-rw-r--r--pango/modules.c5
-rw-r--r--pango/pango-attributes.c4
-rw-r--r--pango/pango-layout.c7
10 files changed, 68 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index edcb701e..2d6092b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2000-08-07 Elliot Lee <sopwith@redhat.com>
+
+ * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
+ * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
+ new one.
+ * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
+ infinite loop.
+
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0
index edcb701e..2d6092b9 100644
--- a/ChangeLog.pre-1-0
+++ b/ChangeLog.pre-1-0
@@ -1,3 +1,11 @@
+2000-08-07 Elliot Lee <sopwith@redhat.com>
+
+ * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
+ * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
+ new one.
+ * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
+ infinite loop.
+
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index edcb701e..2d6092b9 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,11 @@
+2000-08-07 Elliot Lee <sopwith@redhat.com>
+
+ * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
+ * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
+ new one.
+ * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
+ infinite loop.
+
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2
index edcb701e..2d6092b9 100644
--- a/ChangeLog.pre-1-2
+++ b/ChangeLog.pre-1-2
@@ -1,3 +1,11 @@
+2000-08-07 Elliot Lee <sopwith@redhat.com>
+
+ * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
+ * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
+ new one.
+ * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
+ infinite loop.
+
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4
index edcb701e..2d6092b9 100644
--- a/ChangeLog.pre-1-4
+++ b/ChangeLog.pre-1-4
@@ -1,3 +1,11 @@
+2000-08-07 Elliot Lee <sopwith@redhat.com>
+
+ * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
+ * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
+ new one.
+ * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
+ infinite loop.
+
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6
index edcb701e..2d6092b9 100644
--- a/ChangeLog.pre-1-6
+++ b/ChangeLog.pre-1-6
@@ -1,3 +1,11 @@
+2000-08-07 Elliot Lee <sopwith@redhat.com>
+
+ * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
+ * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
+ new one.
+ * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
+ infinite loop.
+
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8
index edcb701e..2d6092b9 100644
--- a/ChangeLog.pre-1-8
+++ b/ChangeLog.pre-1-8
@@ -1,3 +1,11 @@
+2000-08-07 Elliot Lee <sopwith@redhat.com>
+
+ * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
+ * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
+ new one.
+ * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
+ infinite loop.
+
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
diff --git a/pango/modules.c b/pango/modules.c
index d7d3b838..5d3f9cb9 100644
--- a/pango/modules.c
+++ b/pango/modules.c
@@ -217,7 +217,10 @@ process_module_file (FILE *module_file)
p = line_buf->str;
if (!pango_skip_space (&p))
- continue;
+ {
+ g_free (pair);
+ continue;
+ }
/* Break line into words on whitespace */
i = 0;
diff --git a/pango/pango-attributes.c b/pango/pango-attributes.c
index a081235d..d2349eac 100644
--- a/pango/pango-attributes.c
+++ b/pango/pango-attributes.c
@@ -740,7 +740,7 @@ pango_attr_list_insert_internal (PangoAttrList *list,
{
prev = NULL;
tmp_list = list->attributes;
- while (tmp_list)
+ while (1)
{
PangoAttribute *tmp_attr = tmp_list->data;
@@ -758,6 +758,8 @@ pango_attr_list_insert_internal (PangoAttrList *list,
if (!tmp_list)
list->attributes_tail = link;
+
+ break;
}
prev = tmp_list;
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index 84acc12e..7025083f 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -333,14 +333,17 @@ void
pango_layout_set_attributes (PangoLayout *layout,
PangoAttrList *attrs)
{
+ PangoAttrList *old_attrs;
g_return_if_fail (layout != NULL);
- if (layout->attrs)
- pango_attr_list_unref (layout->attrs);
+ old_attrs = layout->attrs;
layout->attrs = attrs;
pango_attr_list_ref (layout->attrs);
pango_layout_clear_lines (layout);
+
+ if (old_attrs)
+ pango_attr_list_unref (layout->attrs);
}
/**