aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-03-25 19:28:43 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2009-03-25 19:28:43 +0800
commit1c1d81211e14986917817b674c9c4230e84a304b (patch)
tree261edb044bbf499929dbf0a142d0944f48750a15
parentf622ce18d1cd12c1f15c11982fdc64cf8f1bc7c8 (diff)
downloadgsoc2013-evolution-1c1d81211e14986917817b674c9c4230e84a304b.tar.gz
gsoc2013-evolution-1c1d81211e14986917817b674c9c4230e84a304b.tar.zst
gsoc2013-evolution-1c1d81211e14986917817b674c9c4230e84a304b.zip
** Fixes bug #576694
2009-03-25 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #576694 * widgets/table/e-cell-text.c (build_layout): * widgets/text/e-text.c (reset_layout): Handle absolute font sizes correctly. svn path=/trunk/; revision=37474
-rw-r--r--widgets/ChangeLog7
-rw-r--r--widgets/table/ChangeLog7
-rw-r--r--widgets/table/e-cell-text.c7
-rw-r--r--widgets/text/e-text.c8
4 files changed, 26 insertions, 3 deletions
diff --git a/widgets/ChangeLog b/widgets/ChangeLog
index 527ebb8dee..3305630c4b 100644
--- a/widgets/ChangeLog
+++ b/widgets/ChangeLog
@@ -1,3 +1,10 @@
+2009-03-25 Matthew Barnes <mbarnes@redhat.com>
+
+ ** Fixes part of bug #576694
+
+ * text/e-text.c (reset_layout):
+ Handle absolute font sizes correctly.
+
2009-02-14 Matthew Barnes <mbarnes@redhat.com>
* text/e-text.c:
diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog
index 8abd4d19a2..df2e783606 100644
--- a/widgets/table/ChangeLog
+++ b/widgets/table/ChangeLog
@@ -1,3 +1,10 @@
+2009-03-26 Matthew Barnes <mbarnes@redhat.com>
+
+ ** Fixes part of bug #576694
+
+ * e-cell-text.c (build_layout):
+ Handle absolute font sizes correctly.
+
2009-02-26 Chenthill Palanisamy <pchenthill@novell.com>
** Part of fix for bug #573198
diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c
index a539e031eb..bb767c7bb0 100644
--- a/widgets/table/e-cell-text.c
+++ b/widgets/table/e-cell-text.c
@@ -593,16 +593,21 @@ build_layout (ECellTextView *text_view, int row, const char *text, gint width)
PangoFontDescription *desc = NULL, *fixed_desc = NULL;
char *fixed_family = NULL;
gint fixed_size = 0;
+ gboolean fixed_points = TRUE;
fixed_desc = pango_font_description_from_string (ect->font_name);
if (fixed_desc) {
fixed_family = (char *)pango_font_description_get_family (fixed_desc);
fixed_size = pango_font_description_get_size (fixed_desc);
+ fixed_points = !pango_font_description_get_size_is_absolute (fixed_desc);
}
desc = pango_font_description_copy (gtk_widget_get_style (GTK_WIDGET (((GnomeCanvasItem *)ecell_view->e_table_item_view)->canvas))->font_desc);
pango_font_description_set_family (desc, fixed_family);
- pango_font_description_set_size (desc, fixed_size);
+ if (fixed_points)
+ pango_font_description_set_size (desc, fixed_size);
+ else
+ pango_font_description_set_absolute_size (desc, fixed_size);
/* pango_font_description_set_style (desc, PANGO_STYLE_OBLIQUE); */
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c
index a88ecec75d..5f3906fc71 100644
--- a/widgets/text/e-text.c
+++ b/widgets/text/e-text.c
@@ -426,8 +426,12 @@ reset_layout (EText *text)
pango_layout_context_changed (text->layout);
text->font_desc = pango_font_description_new ();
- pango_font_description_set_size (text->font_desc,
- pango_font_description_get_size ((GTK_WIDGET (item->canvas))->style->font_desc));
+ if (!pango_font_description_get_size_is_absolute ((GTK_WIDGET (item->canvas))->style->font_desc))
+ pango_font_description_set_size (text->font_desc,
+ pango_font_description_get_size ((GTK_WIDGET (item->canvas))->style->font_desc));
+ else
+ pango_font_description_set_absolute_size (text->font_desc,
+ pango_font_description_get_size ((GTK_WIDGET (item->canvas))->style->font_desc));
pango_font_description_set_family (text->font_desc,
pango_font_description_get_family ((GTK_WIDGET (item->canvas))->style->font_desc));
pango_layout_set_font_description (text->layout, text->font_desc);