--- gtk+/ChangeLog	Wed Mar  3 10:20:59 2004
+++ gtk+-new/ChangeLog	Wed Mar  3 09:39:20 2004
@@ -1,3 +1,9 @@
+2004-03-04  Narayana Pattipati <narayana.pattipati@wipro.com>
+
+	* gtk/gtktreeview.c (gtk_tree_view_key_press):
+	Handle Down arrow key event when focus is on the column header.
+	Fixes bugzilla bug#131226
+
 Tue Mar  2 23:39:55 2004  Jonathan Blandford  <jrb@gnome.org>
 
 	* gtk/gtkfilechooserdialog.c
--- gtk+/gtk/gtktreeview.c	Wed Mar  3 10:20:40 2004
+++ gtk+-new/gtk/gtktreeview.c	Wed Mar  3 10:19:28 2004
@@ -3967,7 +3967,8 @@ gtk_tree_view_key_press (GtkWidget   *wi
   if (tree_view->priv->columns &&
       GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE) &&
       (event->keyval == GDK_Left || event->keyval == GDK_KP_Left
-       || event->keyval == GDK_Right || event->keyval == GDK_KP_Right))
+       || event->keyval == GDK_Right || event->keyval == GDK_KP_Right
+       || event->keyval == GDK_Down || event->keyval == GDK_KP_Down))
     {
       gint width = 0;
       list = tree_view->priv->columns;
@@ -3976,6 +3977,27 @@ gtk_tree_view_key_press (GtkWidget   *wi
 	  GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN (list->data);
 	  if (GTK_WIDGET_HAS_FOCUS (column->button))
 	    {
+	      if (event->keyval == GDK_Down || event->keyval == GDK_KP_Down)
+	        {
+		   GtkTreePath *cursor_path = NULL;
+
+		   if (!GTK_WIDGET_HAS_FOCUS (GTK_WIDGET (tree_view))) 
+		     gtk_widget_grab_focus (GTK_WIDGET (tree_view));
+
+		   if (!gtk_tree_row_reference_valid (tree_view->priv->cursor))
+		     return FALSE;
+
+		   cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
+		   if (cursor_path != NULL) 
+		     {
+		       gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, TRUE);
+		       gtk_tree_path_free (cursor_path);
+		       return TRUE;
+		     }
+
+		   return FALSE;
+	        }
+	   
 	      if ((event->keyval == (rtl ? GDK_Right : GDK_Left)
                    || event->keyval == (rtl ? GDK_KP_Right : GDK_KP_Left))
                   && list->prev)
