( cvs diff -u -r 1.115.2.63 -r 1.115.2.64 src/main.c; ) > 1.9.15cvs118.patchset
( cvs diff -u -r 1.12.2.26 -r 1.12.2.27 src/action.c; cvs diff -u -r 1.60.2.25 -r 1.60.2.26 src/prefs_actions.c; ) > 1.9.15cvs119.patchset
( cvs diff -u -r 1.274.2.77 -r 1.274.2.78 src/mainwindow.c; cvs diff -u -r 1.395.2.142 -r 1.395.2.143 src/summaryview.c; ) > 1.9.15cvs120.patchset
+( cvs diff -u -r 1.395.2.143 -r 1.395.2.144 src/summaryview.c; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/gtk/gtksctree.c; ) > 1.9.15cvs121.patchset
GTK_CLIST_GET_CLASS(sctree)->refresh(GTK_CLIST(sctree));
- if (!additive)
+ if (!additive) {
+ sctree->selecting_range = TRUE;
gtk_clist_unselect_all (GTK_CLIST (sctree));
+ sctree->selecting_range = FALSE;
+ }
if (!range) {
GtkCTreeNode *node;
sctree->dnd_select_pending_row = row;
} else
select_row (sctree, row, col, event->state);
- } else
+ } else {
+ sctree->selecting_range = TRUE;
gtk_clist_unselect_all (clist);
+ sctree->selecting_range = FALSE;
+ }
retval = TRUE;
} else if (event->button == 3) {
sctree_signals[ROW_POPUP_MENU],
0, event);
} else {
+ sctree->selecting_range = TRUE;
gtk_clist_unselect_all(clist);
+ sctree->selecting_range = FALSE;
g_signal_emit (G_OBJECT (sctree),
sctree_signals[EMPTY_POPUP_MENU],
0, event);
void gtk_sctree_unselect_all (GtkSCTree *sctree)
{
+ sctree->selecting_range = TRUE;
gtk_clist_unselect_all(GTK_CLIST(sctree));
+ sctree->selecting_range = FALSE;
sctree->anchor_row = NULL;
}
static void summary_unselected(GtkCTree *ctree, GtkCTreeNode *row,
gint column, SummaryView *summaryview)
{
+ if (summary_is_locked(summaryview)
+ || GTK_SCTREE(ctree)->selecting_range) {
+ return;
+ }
+
summary_status_show(summaryview);
}