Merging changes:

2001-12-17  Christopher James Lahey  <clahey@ximian.com>

	* gal/widgets/e-selection-model-simple.c
	(e_selection_model_simple_set_row_count): Set esma->selected_row
	and esma->selected_range_end to -1 here.

	* gal/widgets/e-selection-model-array.c
	(e_selection_model_array_confirm_row_count): Set selected_row and
	selected_range_end to -1 here.
	(esma_select_single_row): Check that selected_row is within the
	range of possible rows.  This should never happen, but this check
	will help if it does.

svn path=/trunk/; revision=15142
This commit is contained in:
Christopher James Lahey
2001-12-17 23:09:54 +00:00
committed by Chris Lahey
parent d39ecffd6d
commit 98a2c85627
2 changed files with 7 additions and 2 deletions

View File

@ -44,6 +44,8 @@ e_selection_model_array_confirm_row_count(ESelectionModelArray *esma)
if (esma->eba == NULL) {
int row_count = e_selection_model_array_get_row_count(esma);
esma->eba = e_bit_array_new(row_count);
esma->selected_row = -1;
esma->selected_range_end = -1;
}
}
@ -384,10 +386,11 @@ esma_real_select_single_row (ESelectionModel *selection, int row)
static void
esma_select_single_row (ESelectionModel *selection, int row)
{
int selected_row = E_SELECTION_MODEL_ARRAY(selection)->selected_row;
ESelectionModelArray *esma = E_SELECTION_MODEL_ARRAY(selection);
int selected_row = esma->selected_row;
esma_real_select_single_row (selection, row);
if (selected_row != -1) {
if (selected_row != -1 && esma->eba && selected_row < e_bit_array_bit_count (esma->eba)) {
if (selected_row != row) {
e_selection_model_selection_row_changed(selection, selected_row);
e_selection_model_selection_row_changed(selection, row);

View File

@ -77,6 +77,8 @@ e_selection_model_simple_set_row_count (ESelectionModelSimple *esms,
if (esma->eba)
gtk_object_unref(GTK_OBJECT(esma->eba));
esma->eba = NULL;
esma->selected_row = -1;
esma->selected_range_end = -1;
}
esms->row_count = row_count;
}