diff -up evolution-3.12.11/e-util/gal-a11y-e-table-item.c.gala11yetableitem-row-count evolution-3.12.11/e-util/gal-a11y-e-table-item.c
--- evolution-3.12.11/e-util/gal-a11y-e-table-item.c.gala11yetableitem-row-count 2016-06-20 15:26:34.288580802 +0200
+++ evolution-3.12.11/e-util/gal-a11y-e-table-item.c 2016-06-20 15:26:34.410580797 +0200
@@ -823,6 +823,25 @@ eti_rows_deleted (ETableModel *model,
}
static void
+eti_model_changed (ETableModel *model,
+ AtkObject *table_item)
+{
+ GalA11yETableItemPrivate *priv;
+ gint row_count;
+
+ g_return_if_fail (GAL_A11Y_IS_E_TABLE_ITEM (table_item));
+
+ priv = GET_PRIVATE (table_item);
+
+ row_count = e_table_model_row_count (model);
+
+ if (priv->rows != row_count) {
+ priv->rows = row_count;
+ g_signal_emit_by_name (table_item, "visible-data-changed");
+ }
+}
+
+static void
eti_tree_model_node_changed_cb (ETreeModel *model,
ETreePath node,
ETableItem *eti)
@@ -986,6 +1005,9 @@ eti_real_initialize (AtkObject *obj,
model, "model-rows-deleted",
G_CALLBACK (eti_rows_deleted), obj, 0);
g_signal_connect_object (
+ model, "model-changed",
+ G_CALLBACK (eti_model_changed), obj, 0);
+ g_signal_connect_object (
eti->header, "structure_change",
G_CALLBACK (eti_header_structure_changed), obj, 0);
}