MSI: allow MsiViewExecute to be called twice on the same query

Mike McCormack mike at codeweavers.com
Tue Feb 15 21:04:44 CST 2005


ChangeLog:
* allow MsiViewExecute to be called twice on the same query
-------------- next part --------------
Index: dlls/msi/where.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/where.c,v
retrieving revision 1.16
diff -u -p -r1.16 where.c
--- dlls/msi/where.c	8 Feb 2005 13:44:25 -0000	1.16
+++ dlls/msi/where.c	16 Feb 2005 03:05:48 -0000
@@ -247,6 +247,7 @@ static UINT WHERE_execute( struct tagMSI
     if( !wv->reorder )
         return ERROR_FUNCTION_FAILED;
 
+    wv->row_count = 0;
     for( i=0; i<count; i++ )
     {
         val = 0;
Index: dlls/msi/table.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/table.c,v
retrieving revision 1.30
diff -u -p -r1.30 table.c
--- dlls/msi/table.c	10 Feb 2005 19:19:36 -0000	1.30
+++ dlls/msi/table.c	16 Feb 2005 03:05:48 -0000
@@ -1220,7 +1220,10 @@ static UINT TABLE_execute( struct tagMSI
     TRACE("%p %p\n", tv, record);
 
     if( tv->table )
-        return ERROR_FUNCTION_FAILED;
+    {
+        release_table( tv->db, tv->table );
+        tv->table = NULL;
+    }
 
     r = get_table( tv->db, tv->name, &tv->table );
     if( r != ERROR_SUCCESS )


More information about the wine-patches mailing list