--- /CVS/gtk+/gtk/gtkalignment.c	2003-10-26 10:41:54.000000000 +0200
+++ gtkalignment.c	2003-11-11 15:59:45.000000000 +0200
@@ -475,6 +475,7 @@ gtk_alignment_size_allocate (GtkWidget  
   gint width, height;
   gint border_width;
   gint padding_horizontal, padding_vertical;
+  gfloat x_align;                                  //bidi
   GtkAlignmentPrivate *priv;
   
 
@@ -483,6 +484,8 @@ gtk_alignment_size_allocate (GtkWidget  
 
   widget->allocation = *allocation;
   alignment = GTK_ALIGNMENT (widget);
+  x_align = gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL?     //bidi 
+             (1.0 - alignment->xalign) : alignment->xalign; 
   bin = GTK_BIN (widget);
   
   if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
@@ -512,7 +515,7 @@ gtk_alignment_size_allocate (GtkWidget  
       else
 	child_allocation.height = height;
 
-      child_allocation.x = alignment->xalign * (width - child_allocation.width) + allocation->x + border_width + priv->padding_left;
+      child_allocation.x = x_align * (width - child_allocation.width) + allocation->x + border_width + priv->padding_left;
       child_allocation.y = alignment->yalign * (height - child_allocation.height) + allocation->y + border_width + priv->padding_top;
 
       gtk_widget_size_allocate (bin->child, &child_allocation);
