diff options
Diffstat (limited to 'widgets/table/e-cell-popup.c')
-rw-r--r-- | widgets/table/e-cell-popup.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/widgets/table/e-cell-popup.c b/widgets/table/e-cell-popup.c index 49a4c1e728..c2c8c28554 100644 --- a/widgets/table/e-cell-popup.c +++ b/widgets/table/e-cell-popup.c @@ -209,6 +209,8 @@ ecp_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view) ecp_view->cell_view.ecell = ecell; ecp_view->cell_view.e_table_model = table_model; ecp_view->cell_view.e_table_item_view = e_table_item_view; + ecp_view->cell_view.kill_view_cb = NULL; + ecp_view->cell_view.kill_view_cb_data = NULL; ecp_view->child_view = e_cell_new_view (ecp->child, table_model, e_table_item_view); @@ -225,6 +227,12 @@ ecp_kill_view (ECellView *ecv) { ECellPopupView *ecp_view = (ECellPopupView *) ecv; + if (ecp_view->cell_view.kill_view_cb) + (ecp_view->cell_view.kill_view_cb)(ecv, ecp_view->cell_view.kill_view_cb_data); + + if (ecp_view->cell_view.kill_view_cb_data) + g_list_free(ecp_view->cell_view.kill_view_cb_data); + if (ecp_view->child_view) e_cell_kill_view (ecp_view->child_view); g_free (ecp_view); |