msi: Destroy streams cache when applying a transform.
This commit is contained in:
parent
f80f1cc2db
commit
d9e40b8219
|
@ -225,16 +225,6 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
void append_storage_to_db( MSIDATABASE *db, IStorage *stg )
|
||||
{
|
||||
MSITRANSFORM *t;
|
||||
|
||||
t = msi_alloc( sizeof *t );
|
||||
t->stg = stg;
|
||||
IStorage_AddRef( stg );
|
||||
list_add_tail( &db->transforms, &t->entry );
|
||||
}
|
||||
|
||||
static void free_transforms( MSIDATABASE *db )
|
||||
{
|
||||
while( !list_empty( &db->transforms ) )
|
||||
|
@ -259,6 +249,19 @@ static void free_streams( MSIDATABASE *db )
|
|||
}
|
||||
}
|
||||
|
||||
void append_storage_to_db( MSIDATABASE *db, IStorage *stg )
|
||||
{
|
||||
MSITRANSFORM *t;
|
||||
|
||||
t = msi_alloc( sizeof *t );
|
||||
t->stg = stg;
|
||||
IStorage_AddRef( stg );
|
||||
list_add_tail( &db->transforms, &t->entry );
|
||||
|
||||
/* the transform may add or replace streams */
|
||||
free_streams( db );
|
||||
}
|
||||
|
||||
static VOID MSI_CloseDatabase( MSIOBJECTHDR *arg )
|
||||
{
|
||||
MSIDATABASE *db = (MSIDATABASE *) arg;
|
||||
|
|
Loading…
Reference in New Issue