aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-cell-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-cell-popup.c')
-rw-r--r--widgets/table/e-cell-popup.c8
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);