aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-addressbook-table-adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-table-adapter.c')
-rw-r--r--addressbook/gui/widgets/e-addressbook-table-adapter.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-table-adapter.c b/addressbook/gui/widgets/e-addressbook-table-adapter.c
index 36909ca433..3fa92d2300 100644
--- a/addressbook/gui/widgets/e-addressbook-table-adapter.c
+++ b/addressbook/gui/widgets/e-addressbook-table-adapter.c
@@ -159,11 +159,16 @@ addressbook_is_cell_editable (ETableModel *etc, int col, int row)
{
EAddressbookTableAdapter *adapter = E_ADDRESSBOOK_TABLE_ADAPTER(etc);
EAddressbookTableAdapterPrivate *priv = adapter->priv;
- ECard *card = e_addressbook_model_card_at (priv->model, row);
+ ECard *card;
+
+ if (row >= 0 && row < e_addressbook_model_card_count (priv->model))
+ card = e_addressbook_model_card_at (priv->model, row);
+ else
+ card = NULL;
if (!e_addressbook_model_editable(priv->model))
return FALSE;
- else if (e_card_evolution_list (card))
+ else if (card && e_card_evolution_list (card))
/* we only allow editing of the name and file as for
lists */
return col == E_CARD_SIMPLE_FIELD_FULL_NAME || col == E_CARD_SIMPLE_FIELD_FILE_AS;