diff options
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-table-adapter.c')
-rw-r--r-- | addressbook/gui/widgets/e-addressbook-table-adapter.c | 9 |
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; |