? src/file-manager/.fm-list-view.c.swp
Index: src/file-manager/fm-list-view.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/file-manager/fm-list-view.c,v
retrieving revision 1.257
diff -u -p -r1.257 fm-list-view.c
--- src/file-manager/fm-list-view.c	6 Sep 2005 16:04:37 -0000	1.257
+++ src/file-manager/fm-list-view.c	7 Sep 2005 10:25:40 -0000
@@ -406,6 +406,21 @@ get_drag_pixbuf (FMListView *view)
 	return ret;
 }
 
+static GtkTreeViewColumn *
+get_first_visible_column (GtkTreeView *tree_view)
+{
+	GtkTreeViewColumn *column;
+	int i;
+
+	for (i = 0; (column = gtk_tree_view_get_column (tree_view, i)) != NULL; i++) {
+		if (gtk_tree_view_column_get_visible (column)) {
+			return column;
+		}
+	}
+
+	return NULL;
+}
+
 static gboolean
 motion_notify_callback (GtkWidget *widget,
 			GdkEventMotion *event,
@@ -416,6 +431,7 @@ motion_notify_callback (GtkWidget *widge
 	GdkCursor *cursor;
 	GList *ref_list;
 	GdkPixbuf *pixbuf;	
+	GtkTreeViewColumn *column;
 	GtkTreePath *last_hover_path;
 	GtkTreeIter iter;
 	
@@ -431,12 +447,16 @@ motion_notify_callback (GtkWidget *widge
 		gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget),
 					       event->x, event->y,
 					       &view->details->hover_path,
-					       NULL, NULL, NULL);
+					       &column, NULL, NULL);
 
+		cursor = NULL;
 		if (view->details->hover_path != NULL) {
-			cursor = gdk_cursor_new (GDK_HAND2);
-		} else {
-			cursor = NULL;
+			if (column == get_first_visible_column (GTK_TREE_VIEW (widget))) {
+				cursor = gdk_cursor_new (GDK_HAND2);
+			} else {
+				gtk_tree_path_free (view->details->hover_path);
+				view->details->hover_path = NULL;
+			}
 		}
 
 		gdk_window_set_cursor (widget->window, cursor);
@@ -544,6 +564,7 @@ button_press_callback (GtkWidget *widget
 {
 	FMListView *view;
 	GtkTreeView *tree_view;
+	GtkTreeViewColumn *column;
 	GtkTreePath *path;
 	gboolean call_parent;
 	gboolean allow_drag;
@@ -595,7 +616,8 @@ button_press_callback (GtkWidget *widget
 	call_parent = TRUE;
 	allow_drag = FALSE;
 	if (gtk_tree_view_get_path_at_pos (tree_view, event->x, event->y,
-					   &path, NULL, NULL, NULL)) {
+					   &path, &column, NULL, NULL) &&
+	    column == get_first_visible_column (tree_view)) {
 		/* Keep track of path of last click so double clicks only happen
 		 * on the same item */
 		if ((event->button == 1 || event->button == 2)  && 
