summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2005-06-14 19:54:19 +0000
committerOwen Taylor <otaylor@src.gnome.org>2005-06-14 19:54:19 +0000
commit52930d8a275dd6628afdad3dfab8ca362de621a4 (patch)
tree226d806136bb8bc75bf3945c043fa77326fcb135
parent265c86ac01a154c35de7db3679052087c0b02dd3 (diff)
downloadpango-52930d8a275dd6628afdad3dfab8ca362de621a4.tar.gz
Chain up from finalize. (#307547, Paolo Borelli)
2005-06-14 Owen Taylor <otaylor@redhat.com> * pango/opentype/pango-ot-info.c (pango_ot_info_finalize) pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize): Chain up from finalize. (#307547, Paolo Borelli) * pango/opentype/pango-ot-info.c (pango_ot_info_finalizer): make accidentally public function static.
-rw-r--r--ChangeLog18
-rw-r--r--ChangeLog.pre-1-1018
-rw-r--r--pango/ellipsize.c5
-rw-r--r--pango/opentype/pango-ot-info.c4
-rw-r--r--pango/opentype/pango-ot-ruleset.c2
-rw-r--r--pango/pango-context.c5
6 files changed, 48 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index d91dac6f..5295f32e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
2005-06-14 Owen Taylor <otaylor@redhat.com>
+ * pango/opentype/pango-ot-info.c (pango_ot_info_finalize)
+ pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize):
+ Chain up from finalize. (#307547, Paolo Borelli)
+
+ * pango/opentype/pango-ot-info.c (pango_ot_info_finalizer):
+ make accidentally public function static.
+
+2005-06-14 Owen Taylor <otaylor@redhat.com>
+
+ * pango/ellipsize.c (shape_ellipsis): Fix FALSE/TRUE
+ typo that was causing crashes with fonts not containing
+ ".". (#304039, Sebastien Bacher)
+
+ * pango/pango-context.c (itemize_state_fill_shaper): Allow
+ font to be NULL.
+
+2005-06-14 Owen Taylor <otaylor@redhat.com>
+
* pango/pango-context.c (itemize_state_finish): Fix
potential leak of state->base_font. (#168930, Ben Maurer,
Aivars Kalvans)
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index d91dac6f..5295f32e 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,5 +1,23 @@
2005-06-14 Owen Taylor <otaylor@redhat.com>
+ * pango/opentype/pango-ot-info.c (pango_ot_info_finalize)
+ pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize):
+ Chain up from finalize. (#307547, Paolo Borelli)
+
+ * pango/opentype/pango-ot-info.c (pango_ot_info_finalizer):
+ make accidentally public function static.
+
+2005-06-14 Owen Taylor <otaylor@redhat.com>
+
+ * pango/ellipsize.c (shape_ellipsis): Fix FALSE/TRUE
+ typo that was causing crashes with fonts not containing
+ ".". (#304039, Sebastien Bacher)
+
+ * pango/pango-context.c (itemize_state_fill_shaper): Allow
+ font to be NULL.
+
+2005-06-14 Owen Taylor <otaylor@redhat.com>
+
* pango/pango-context.c (itemize_state_finish): Fix
potential leak of state->base_font. (#168930, Ben Maurer,
Aivars Kalvans)
diff --git a/pango/ellipsize.c b/pango/ellipsize.c
index 350d0ca3..39649461 100644
--- a/pango/ellipsize.c
+++ b/pango/ellipsize.c
@@ -347,14 +347,15 @@ shape_ellipsis (EllipsizeState *state)
/* If that fails we use "..." in the first matching font
*/
- if (!_pango_engine_shape_covers (item->analysis.shape_engine, item->analysis.font,
+ if (!item->analysis.font ||
+ !_pango_engine_shape_covers (item->analysis.shape_engine, item->analysis.font,
item->analysis.language, g_utf8_get_char (ellipsis_text)))
{
pango_item_free (item);
/* Modify the fallback iter while it is inside the PangoAttrList; Don't try this at home
*/
- ((PangoAttrInt *)fallback)->value = FALSE;
+ ((PangoAttrInt *)fallback)->value = TRUE;
ellipsis_text = "...";
item = itemize_text (state, ellipsis_text, attrs);
diff --git a/pango/opentype/pango-ot-info.c b/pango/opentype/pango-ot-info.c
index a6baa7fd..9a0f3f09 100644
--- a/pango/opentype/pango-ot-info.c
+++ b/pango/opentype/pango-ot-info.c
@@ -92,9 +92,11 @@ pango_ot_info_finalize (GObject *object)
TT_Done_GPOS_Table (info->gpos);
info->gpos = NULL;
}
+
+ parent_class->finalize (object);
}
-void
+static void
pango_ot_info_finalizer (void *object)
{
FT_Face face = object;
diff --git a/pango/opentype/pango-ot-ruleset.c b/pango/opentype/pango-ot-ruleset.c
index 47af334b..4c219301 100644
--- a/pango/opentype/pango-ot-ruleset.c
+++ b/pango/opentype/pango-ot-ruleset.c
@@ -88,6 +88,8 @@ pango_ot_ruleset_finalize (GObject *object)
g_array_free (ruleset->rules, TRUE);
g_object_unref (ruleset->info);
+
+ parent_class->finalize (object);
}
/**
diff --git a/pango/pango-context.c b/pango/pango-context.c
index 56b58fb1..3ee465ff 100644
--- a/pango/pango-context.c
+++ b/pango/pango-context.c
@@ -783,7 +783,10 @@ itemize_state_fill_shaper (ItemizeState *state,
PangoItem *item = l->data;
if (item->analysis.shape_engine)
break;
- item->analysis.font = g_object_ref (font);
+ if (font)
+ item->analysis.font = g_object_ref (font);
+ else
+ item->analysis.font = NULL;
item->analysis.shape_engine = shape_engine;
}
}