msi: Implement DROP_delete that deletes the drop view. We were leaking the view before.
This commit is contained in:
parent
37a058208d
commit
f45db6eee7
|
@ -78,6 +78,20 @@ static UINT DROP_get_dimensions(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
|
||||||
return ERROR_FUNCTION_FAILED;
|
return ERROR_FUNCTION_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static UINT DROP_delete( struct tagMSIVIEW *view )
|
||||||
|
{
|
||||||
|
MSIDROPVIEW *dv = (MSIDROPVIEW*)view;
|
||||||
|
|
||||||
|
TRACE("%p\n", dv );
|
||||||
|
|
||||||
|
if( dv->table )
|
||||||
|
dv->table->ops->delete( dv->table );
|
||||||
|
|
||||||
|
msi_free( dv );
|
||||||
|
|
||||||
|
return ERROR_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static const MSIVIEWOPS drop_ops =
|
static const MSIVIEWOPS drop_ops =
|
||||||
{
|
{
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -91,7 +105,7 @@ static const MSIVIEWOPS drop_ops =
|
||||||
DROP_get_dimensions,
|
DROP_get_dimensions,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
DROP_delete,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
|
@ -2326,7 +2326,6 @@ static UINT TABLE_drop(struct tagMSIVIEW *view)
|
||||||
|
|
||||||
list_remove(&tv->table->entry);
|
list_remove(&tv->table->entry);
|
||||||
free_table(tv->table);
|
free_table(tv->table);
|
||||||
TABLE_delete(view);
|
|
||||||
|
|
||||||
done:
|
done:
|
||||||
msiobj_release(&rec->hdr);
|
msiobj_release(&rec->hdr);
|
||||||
|
|
Loading…
Reference in New Issue