summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2014-04-10 12:31:00 -0700
committerCosimo Cecchi <cosimoc@gnome.org>2014-04-10 12:31:00 -0700
commit4217865518a2d8291c24fd00cade237109e0bd23 (patch)
treea57d0fd649c45e45c3263becf742cbed5d1cb831
parentbdd15e80c379389a7196f50dc3ad9e5454819b1d (diff)
downloadnautilus-4217865518a2d8291c24fd00cade237109e0bd23.tar.gz
view: always send selection change signals
For some reason, we're complicating the view selection code here; this causes bugs e.g. when switching views, since actions that depend on the selection being available will not be correctly updated.
-rw-r--r--src/nautilus-view.c17
1 files changed, 1 insertions, 16 deletions
diff --git a/src/nautilus-view.c b/src/nautilus-view.c
index 8487670a4..b17031bdb 100644
--- a/src/nautilus-view.c
+++ b/src/nautilus-view.c
@@ -254,9 +254,6 @@ struct NautilusViewDetails
gboolean metadata_for_directory_as_file_pending;
gboolean metadata_for_files_in_directory_pending;
- gboolean selection_change_is_due_to_shell;
- gboolean send_selection_change_to_shell;
-
GtkActionGroup *open_with_action_group;
guint open_with_merge_id;
@@ -2594,9 +2591,7 @@ nautilus_view_set_selection (NautilusView *nautilus_view,
/* If we aren't still loading, set the selection right now,
* and reveal the new selection.
*/
- view->details->selection_change_is_due_to_shell = TRUE;
nautilus_view_call_set_selection (view, selection);
- view->details->selection_change_is_due_to_shell = FALSE;
nautilus_view_reveal_selection (view);
} else {
/* If we are still loading, set the list of pending URIs instead.
@@ -3026,8 +3021,6 @@ static void
nautilus_view_send_selection_change (NautilusView *view)
{
g_signal_emit (view, signals[SELECTION_CHANGED], 0);
-
- view->details->send_selection_change_to_shell = FALSE;
}
void
@@ -3091,9 +3084,7 @@ done_loading (NautilusView *view,
} else if (selection != NULL && all_files_seen) {
view->details->pending_selection = NULL;
- view->details->selection_change_is_due_to_shell = TRUE;
nautilus_view_call_set_selection (view, selection);
- view->details->selection_change_is_due_to_shell = FALSE;
g_list_free_full (selection, g_object_unref);
do_reveal = TRUE;
}
@@ -3585,9 +3576,7 @@ display_selection_info_idle_callback (gpointer data)
view->details->display_selection_idle_id = 0;
nautilus_view_display_selection_info (view);
- if (view->details->send_selection_change_to_shell) {
- nautilus_view_send_selection_change (view);
- }
+ nautilus_view_send_selection_change (view);
g_object_unref (G_OBJECT (view));
@@ -9066,10 +9055,6 @@ nautilus_view_notify_selection_changed (NautilusView *view)
view->details->selection_was_removed = FALSE;
- if (!view->details->selection_change_is_due_to_shell) {
- view->details->send_selection_change_to_shell = TRUE;
- }
-
/* Schedule a display of the new selection. */
if (view->details->display_selection_idle_id == 0) {
view->details->display_selection_idle_id