# HG changeset patch # User Richard Dunbar # Date 1329519523 0 # Node ID 9336912f1ef1e02f60efc4c1a63af9591fc97886 # Parent 00f6ddc9b2df1b48374376b23e9d249534f3d63a pcmanfm: fix detailed list click bug diff -r 00f6ddc9b2df -r 9336912f1ef1 pcmanfm/stuff/view.as.detailed.list.click.bug.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pcmanfm/stuff/view.as.detailed.list.click.bug.patch Fri Feb 17 22:58:43 2012 +0000 @@ -0,0 +1,25 @@ +--- src/exo/exo-tree-view.c.ORIG ++++ src/exo/exo-tree-view.c +@@ -364,20 +364,11 @@ + tree_view->priv->button_release_activates = (tree_view->priv->single_click && event->type == GDK_BUTTON_PRESS && event->button == 1 + && (event->state & gtk_accelerator_get_default_mod_mask ()) == 0); + } +- +- /* unfortunately GtkTreeView will unselect rows except the clicked one, +- * which makes dragging from a GtkTreeView problematic. That's why we +- * remember the selected paths here and restore them later. +- */ ++ + if (event->type == GDK_BUTTON_PRESS && (event->state & gtk_accelerator_get_default_mod_mask ()) == 0 + && path != NULL && gtk_tree_selection_path_is_selected (selection, path)) + { +- /* if no custom select function is set, we simply use exo_noop_false here, +- * to tell the tree view that it may not alter the selection. +- */ +- if (G_LIKELY (selection->user_func == NULL)) +- gtk_tree_selection_set_select_function (selection, (GtkTreeSelectionFunc) exo_noop_false, NULL, NULL); +- else ++ + selected_paths = gtk_tree_selection_get_selected_rows (selection, NULL); + } +