From 03ecc4f4f8e6a8fb520e37dff762643828bb61c4 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sun, 29 Jun 2008 20:15:28 +0100 Subject: [PATCH] Don't lose selection when starting a drag with Ctrl If we drag from an unselected item, we normally unselect any other items. However, if we're also holding down Ctrl it's probably unselected only because we mis-interpreted the click as toggle-selected, so just re-select it in that case (reported by Kacper Wysocki). --- ROX-Filer/src/filer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ROX-Filer/src/filer.c b/ROX-Filer/src/filer.c index 444d0531..8381c4ca 100644 --- a/ROX-Filer/src/filer.c +++ b/ROX-Filer/src/filer.c @@ -2657,7 +2657,13 @@ gint filer_motion_notify(FilerWindow *filer_window, GdkEventMotion *event) if (!view_get_selected(view, &iter)) { - if (event->state & GDK_BUTTON1_MASK) + /* If we drag an unselected item, select it only. + * Unless we're also holding down Ctrl, in which case + * it's probably unselected only because we + * mis-interpreted the click as toggle-selected. + */ + if ((event->state & GDK_BUTTON1_MASK) && + !(event->state & GDK_CONTROL_MASK)) { /* Select just this one */ filer_window->temp_item_selected = TRUE; -- 2.11.4.GIT