[gtk+] label: Split out function that merges attr lists
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] label: Split out function that merges attr lists
- Date: Fri, 6 Jan 2012 04:24:19 +0000 (UTC)
commit dd4df2438214b0f662666c2fc0feb12007ba4444
Author: Benjamin Otte <otte redhat com>
Date: Fri Jan 6 02:53:12 2012 +0100
label: Split out function that merges attr lists
gtk/gtklabel.c | 46 +++++++++++++++++++++++++++-------------------
1 files changed, 27 insertions(+), 19 deletions(-)
---
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index c8e69fa..8ee4a7e 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -2035,33 +2035,41 @@ gtk_label_set_use_underline_internal (GtkLabel *label,
}
static void
-gtk_label_compose_effective_attrs (GtkLabel *label)
+my_pango_attr_list_merge (PangoAttrList *into,
+ PangoAttrList *from)
{
- GtkLabelPrivate *priv = label->priv;
PangoAttrIterator *iter;
PangoAttribute *attr;
GSList *iter_attrs, *l;
+ iter = pango_attr_list_get_iterator (into);
+
+ if (iter)
+ {
+ do
+ {
+ iter_attrs = pango_attr_iterator_get_attrs (iter);
+ for (l = iter_attrs; l; l = l->next)
+ {
+ attr = l->data;
+ pango_attr_list_insert (from, attr);
+ }
+ g_slist_free (iter_attrs);
+ }
+ while (pango_attr_iterator_next (iter));
+ pango_attr_iterator_destroy (iter);
+ }
+}
+
+static void
+gtk_label_compose_effective_attrs (GtkLabel *label)
+{
+ GtkLabelPrivate *priv = label->priv;
+
if (priv->attrs)
{
if (priv->effective_attrs)
- {
- if ((iter = pango_attr_list_get_iterator (priv->attrs)))
- {
- do
- {
- iter_attrs = pango_attr_iterator_get_attrs (iter);
- for (l = iter_attrs; l; l = l->next)
- {
- attr = l->data;
- pango_attr_list_insert (priv->effective_attrs, attr);
- }
- g_slist_free (iter_attrs);
- }
- while (pango_attr_iterator_next (iter));
- pango_attr_iterator_destroy (iter);
- }
- }
+ my_pango_attr_list_merge (priv->effective_attrs, priv->attrs);
else
priv->effective_attrs =
pango_attr_list_ref (priv->attrs);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]