Don't access label->layout directly. (#157080, Adam Hooper)

2004-11-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
	access label->layout directly.  (#157080, Adam Hooper)
This commit is contained in:
Matthias Clasen 2004-11-03 06:36:32 +00:00 committed by Matthias Clasen
parent 9f3382613a
commit f493d74d0a
5 changed files with 18 additions and 5 deletions

View File

@ -1,5 +1,8 @@
2004-11-03 Matthias Clasen <mclasen@redhat.com> 2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
access label->layout directly. (#157080, Adam Hooper)
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow * gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow
unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom) unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom)

View File

@ -1,5 +1,8 @@
2004-11-03 Matthias Clasen <mclasen@redhat.com> 2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
access label->layout directly. (#157080, Adam Hooper)
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow * gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow
unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom) unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom)

View File

@ -1,5 +1,8 @@
2004-11-03 Matthias Clasen <mclasen@redhat.com> 2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
access label->layout directly. (#157080, Adam Hooper)
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow * gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow
unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom) unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom)

View File

@ -1,5 +1,8 @@
2004-11-03 Matthias Clasen <mclasen@redhat.com> 2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
access label->layout directly. (#157080, Adam Hooper)
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow * gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow
unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom) unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom)

View File

@ -325,12 +325,14 @@ gtk_accel_label_expose_event (GtkWidget *widget,
gint x; gint x;
gint y; gint y;
label_layout = gtk_label_get_layout (GTK_LABEL (accel_label));
if (direction == GTK_TEXT_DIR_RTL) if (direction == GTK_TEXT_DIR_RTL)
widget->allocation.x += ac_width; widget->allocation.x += ac_width;
widget->allocation.width -= ac_width; widget->allocation.width -= ac_width;
if (gtk_label_get_ellipsize (label)) if (gtk_label_get_ellipsize (label))
pango_layout_set_width (label->layout, pango_layout_set_width (label_layout,
pango_layout_get_width (label->layout) pango_layout_get_width (label_layout)
- ac_width * PANGO_SCALE); - ac_width * PANGO_SCALE);
if (GTK_WIDGET_CLASS (parent_class)->expose_event) if (GTK_WIDGET_CLASS (parent_class)->expose_event)
@ -339,8 +341,8 @@ gtk_accel_label_expose_event (GtkWidget *widget,
widget->allocation.x -= ac_width; widget->allocation.x -= ac_width;
widget->allocation.width += ac_width; widget->allocation.width += ac_width;
if (gtk_label_get_ellipsize (label)) if (gtk_label_get_ellipsize (label))
pango_layout_set_width (label->layout, pango_layout_set_width (label_layout,
pango_layout_get_width (label->layout) pango_layout_get_width (label_layout)
+ ac_width * PANGO_SCALE); + ac_width * PANGO_SCALE);
if (direction == GTK_TEXT_DIR_RTL) if (direction == GTK_TEXT_DIR_RTL)
@ -348,7 +350,6 @@ gtk_accel_label_expose_event (GtkWidget *widget,
else else
x = widget->allocation.x + widget->allocation.width - misc->xpad - ac_width; x = widget->allocation.x + widget->allocation.width - misc->xpad - ac_width;
label_layout = gtk_label_get_layout (GTK_LABEL (accel_label));
gtk_label_get_layout_offsets (GTK_LABEL (accel_label), NULL, &y); gtk_label_get_layout_offsets (GTK_LABEL (accel_label), NULL, &y);
accel_layout = gtk_widget_create_pango_layout (widget, gtk_accel_label_get_string (accel_label)); accel_layout = gtk_widget_create_pango_layout (widget, gtk_accel_label_get_string (accel_label));