msi: Free each table object when deleting the join view.

This commit is contained in:
James Hawkins 2009-12-13 19:36:31 -08:00 committed by Alexandre Julliard
parent ee2cf9a597
commit 7abb42a994

View File

@ -229,14 +229,18 @@ static UINT JOIN_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
static UINT JOIN_delete( struct tagMSIVIEW *view )
{
MSIJOINVIEW *jv = (MSIJOINVIEW*)view;
JOINTABLE *table;
struct list *item, *cursor;
TRACE("%p\n", jv );
LIST_FOR_EACH_ENTRY(table, &jv->tables, JOINTABLE, entry)
LIST_FOR_EACH_SAFE(item, cursor, &jv->tables)
{
JOINTABLE* table = LIST_ENTRY(item, JOINTABLE, entry);
list_remove(&table->entry);
table->view->ops->delete(table->view);
table->view = NULL;
msi_free(table);
}
msi_free(jv);