From 8644ba8917c984017852e950784e5828772ec216 Mon Sep 17 00:00:00 2001 From: hiro Date: Mon, 4 Jul 2005 06:28:36 +0000 Subject: fixed selection becoming wrong when another folder was clicked quickly. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@392 ee746299-78ed-0310-b773-934348b2243d --- src/folderview.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/folderview.c') diff --git a/src/folderview.c b/src/folderview.c index 15b7f86a..eff37d90 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -1555,6 +1555,9 @@ static gboolean folderview_button_pressed(GtkWidget *widget, &path, NULL, NULL, NULL)) return TRUE; + if (folderview->selection_locked) + return TRUE; + if (event->button == 1 || event->button == 2) { folderview->open_folder = TRUE; } else if (event->button == 3) { @@ -1588,6 +1591,9 @@ static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event, if (!event) return FALSE; + if (folderview->selection_locked) + return TRUE; + switch (event->keyval) { case GDK_Return: if (folderview->selected) { @@ -1688,6 +1694,8 @@ static void folderview_selection_changed(GtkTreeSelection *selection, gtk_tree_path_free(open_path); } + folderview->selection_locked = TRUE; + GTK_EVENTS_FLUSH(); opened = summary_show(folderview->summaryview, item, FALSE); @@ -1708,6 +1716,8 @@ static void folderview_selection_changed(GtkTreeSelection *selection, folderview_select_row_ref(folderview, folderview->opened); gtk_tree_path_free(path); + + folderview->selection_locked = FALSE; } static void folderview_row_expanded(GtkTreeView *treeview, GtkTreeIter *iter, -- cgit v1.2.3