From 8f526a5dc9eb33e10c228551fccdc545d1948854 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 8 Jan 2006 06:44:11 +0000 Subject: [PATCH] Fix label alignment when width-chars is set. (#326098, Benjamin Otte) 2006-01-08 Matthias Clasen * gtk/gtklabel.c (get_layout_location): Fix label alignment when width-chars is set. (#326098, Benjamin Otte) --- ChangeLog | 3 +++ ChangeLog.pre-2-10 | 3 +++ gtk/gtklabel.c | 8 +++++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73b69b76ba..7d45d9888a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-01-08 Matthias Clasen + * gtk/gtklabel.c (get_layout_location): Fix label alignment + when width-chars is set. (#326098, Benjamin Otte) + * gdk/gdkregion-generic.c (miRegionCopy): Fix this for the single-rectangle case. (#326127, Benjamin Berg) (gdk_region_copy): Use miRegionCopy() here. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 73b69b76ba..7d45d9888a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,8 @@ 2006-01-08 Matthias Clasen + * gtk/gtklabel.c (get_layout_location): Fix label alignment + when width-chars is set. (#326098, Benjamin Otte) + * gdk/gdkregion-generic.c (miRegionCopy): Fix this for the single-rectangle case. (#326127, Benjamin Berg) (gdk_region_copy): Use miRegionCopy() here. diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 269d859767..2c5509c311 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -2191,19 +2191,21 @@ get_layout_location (GtkLabel *label, gint *yp) { GtkMisc *misc; - GtkWidget *widget; + GtkWidget *widget; + GtkLabelPrivate *priv; gfloat xalign; gint req_width, x, y; misc = GTK_MISC (label); widget = GTK_WIDGET (label); - + priv = GTK_LABEL_GET_PRIVATE (label); + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) xalign = misc->xalign; else xalign = 1.0 - misc->xalign; - if (label->ellipsize) + if (label->ellipsize || priv->width_chars > 0) { PangoRectangle ink_rect;