Fix a regression in RTL flipping

This was only showing up with pack-end packing in horizontal boxes.
The RTL flipping has to be applied after moving the reference point
to the left edge of the child.
This commit is contained in:
Matthias Clasen 2010-04-25 16:23:01 -04:00
parent 148ea63dba
commit ff0eb03201

View File

@ -555,9 +555,6 @@ gtk_box_size_allocate (GtkWidget *widget,
child_allocation.width = sizes[i].minimum_size;
child_allocation.x = x + (child_size - child_allocation.width) / 2;
}
if (direction == GTK_TEXT_DIR_RTL)
child_allocation.x = allocation->x + allocation->width - (child_allocation.x - allocation->x) - child_allocation.width;
if (packing == GTK_PACK_START)
{
@ -567,8 +564,12 @@ gtk_box_size_allocate (GtkWidget *widget,
{
x -= child_size + box->spacing;
child_allocation.x -= child_allocation.width;
child_allocation.x -= child_size;
}
if (direction == GTK_TEXT_DIR_RTL)
child_allocation.x = allocation->x + allocation->width - (child_allocation.x - allocation->x) - child_allocation.width;
}
else /* (private->orientation == GTK_ORIENTATION_VERTICAL) */
{
@ -591,11 +592,10 @@ gtk_box_size_allocate (GtkWidget *widget,
{
y -= child_size + box->spacing;
child_allocation.y -= child_allocation.height;
child_allocation.y -= child_size;
}
}
gtk_widget_size_allocate (child->widget, &child_allocation);
}
i += 1;