Hans Leidekker : msi: Destroy streams cache when applying a transform.
Alexandre Julliard
julliard at winehq.org
Fri Feb 19 09:21:35 CST 2010
Module: wine
Branch: master
Commit: d9e40b821988ffe363af56d0264b89e2c29ca043
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d9e40b821988ffe363af56d0264b89e2c29ca043
Author: Hans Leidekker <hans at codeweavers.com>
Date: Fri Feb 19 12:25:38 2010 +0100
msi: Destroy streams cache when applying a transform.
---
dlls/msi/database.c | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/dlls/msi/database.c b/dlls/msi/database.c
index 7855fea..757be67 100644
--- a/dlls/msi/database.c
+++ b/dlls/msi/database.c
@@ -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;
More information about the wine-cvs
mailing list