Index: ewl_fileselector.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_fileselector.c,v
retrieving revision 1.7
diff -u -r1.7 ewl_fileselector.c
--- ewl_fileselector.c	22 Feb 2005 10:58:24 -0000	1.7
+++ ewl_fileselector.c	3 Mar 2005 04:35:59 -0000
@@ -511,7 +511,9 @@
 	}
 	FREE(new_path);
 
-	ewl_fileselector_path_setup(fs, path);
+	ewl_tree_selected_clear(fs->list_dirs);
+	ewl_tree_selected_clear(fs->list_files);	
+	ewl_fileselector_path_setup(EWL_FILESELECTOR(fs), path);
 }
 
 void ewl_fileselector_go_up_cb(Ewl_Widget * w, void *ev_data, void *data)
Index: ewl_tree.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_tree.c,v
retrieving revision 1.1
diff -u -r1.1 ewl_tree.c
--- ewl_tree.c	9 Feb 2005 04:31:56 -0000	1.1
+++ ewl_tree.c	3 Mar 2005 04:36:03 -0000
@@ -500,6 +500,7 @@
 	ewl_object_geometry_request(EWL_OBJECT(tree->scrollarea),
 				    CURRENT_X(tree), CURRENT_Y(tree) + height,
 				    CURRENT_W(tree), CURRENT_H(tree) - height);
+	
 
 	DLEAVE_FUNCTION(DLEVEL_STABLE);
 }
@@ -814,7 +815,7 @@
 	Ewl_Event_Mouse_Down *ev = ev_data;
 
 	DENTER_FUNCTION(DLEVEL_STABLE);
-
+	
 	node = EWL_TREE_NODE(w->parent);
 	tree = node->tree;
 
@@ -823,7 +824,8 @@
 		ewl_tree_selected_clear(tree);
 
 	if (!tree->mode != EWL_TREE_MODE_NONE) {
-		ecore_list_append(tree->selected, w);
+		if(ecore_list_goto(tree->selected, w) == NULL)
+		  ecore_list_append(tree->selected, w);
 		ewl_widget_state_set(w, "tree-selected");
 	}
 
