diff options
Diffstat (limited to 'widgets/table/e-cell-progress.c')
-rw-r--r-- | widgets/table/e-cell-progress.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/widgets/table/e-cell-progress.c b/widgets/table/e-cell-progress.c index ffeac2706b..ee9b4c6f5c 100644 --- a/widgets/table/e-cell-progress.c +++ b/widgets/table/e-cell-progress.c @@ -70,6 +70,8 @@ eprog_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view) progress_view->cell_view.ecell = ecell; progress_view->cell_view.e_table_model = table_model; progress_view->cell_view.e_table_item_view = e_table_item_view; + progress_view->cell_view.kill_view_cb = NULL; + progress_view->cell_view.kill_view_cb_data = NULL; progress_view->canvas = canvas; return (ECellView *) progress_view; @@ -78,6 +80,14 @@ eprog_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view) static void eprog_kill_view (ECellView *ecell_view) { + ECellProgressView *progress_view = (ECellProgressView*) ecell_view; + + if (progress_view->cell_view.kill_view_cb) + (progress_view->cell_view.kill_view_cb)(ecell_view, progress_view->cell_view.kill_view_cb_data); + + if (progress_view->cell_view.kill_view_cb_data) + g_list_free(progress_view->cell_view.kill_view_cb_data); + g_free (ecell_view); } |