Index: gtk/gtkfilechooserdefault.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkfilechooserdefault.c,v
retrieving revision 1.279
diff -u -p -r1.279 gtkfilechooserdefault.c
--- gtk/gtkfilechooserdefault.c	26 Jul 2005 18:43:27 -0000	1.279
+++ gtk/gtkfilechooserdefault.c	7 Aug 2005 20:51:55 -0000
@@ -1962,6 +1962,8 @@ queue_edited_idle (GtkFileChooserDefault
     impl->edited_new_text = g_strdup (new_text);
 }
 
+#define NEW_FOLDER_NAME _("Type name of new folder")
+
 /* Callback used from the text cell renderer when the new folder is named */
 static void
 renderer_edited_cb (GtkCellRendererText   *cell_renderer_text,
@@ -1970,9 +1972,21 @@ renderer_edited_cb (GtkCellRendererText 
 		    GtkFileChooserDefault *impl)
 {
  /* work around bug #154921 */
-  g_object_set (cell_renderer_text, 
+  if ( (!strcmp(new_text, NEW_FOLDER_NAME)) || (strlen(new_text) == 0))
+  {
+    GtkTreePath *tree_path = gtk_tree_path_new_from_string(path);
+    gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view),
+			    tree_path,
+			    impl->list_name_column,
+			    TRUE);
+    gtk_tree_path_free (tree_path);
+  }
+  else
+  {
+    g_object_set (cell_renderer_text, 
 		"mode", GTK_CELL_RENDERER_MODE_INERT, NULL);
-   queue_edited_idle (impl, new_text);
+    queue_edited_idle (impl, new_text);
+  }
 }
 
 /* Callback used from the text cell renderer when the new folder edition gets
@@ -6910,8 +6924,8 @@ list_name_data_func (GtkTreeViewColumn *
 
   if (!info)
     {
-      g_object_set (cell,
-		    "text", _("Type name of new folder"),
+      g_object_set (cell, 
+		    "text", NEW_FOLDER_NAME,
 		    NULL);
 
       return;
