Hans Leidekker : msi: Make room for the new row in STREAMS_insert_row.

Alexandre Julliard julliard at winehq.org
Thu Feb 4 11:11:03 CST 2010


Module: wine
Branch: master
Commit: 24dd10c6b0fe346f2180f0278494ae3b4b2033bb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=24dd10c6b0fe346f2180f0278494ae3b4b2033bb

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Thu Feb  4 10:02:26 2010 +0100

msi: Make room for the new row in STREAMS_insert_row.

---

 dlls/msi/streams.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/msi/streams.c b/dlls/msi/streams.c
index bdb2e2c..120b2b7 100644
--- a/dlls/msi/streams.c
+++ b/dlls/msi/streams.c
@@ -218,6 +218,7 @@ done:
 static UINT STREAMS_insert_row(struct tagMSIVIEW *view, MSIRECORD *rec, UINT row, BOOL temporary)
 {
     MSISTREAMSVIEW *sv = (MSISTREAMSVIEW *)view;
+    UINT i;
 
     TRACE("(%p, %p, %d, %d)\n", view, rec, row, temporary);
 
@@ -227,7 +228,11 @@ static UINT STREAMS_insert_row(struct tagMSIVIEW *view, MSIRECORD *rec, UINT row
     if (row == -1)
         row = sv->num_rows - 1;
 
-    /* FIXME have to readjust rows */
+    /* shift the rows to make room for the new row */
+    for (i = sv->num_rows - 1; i > row; i--)
+    {
+        sv->streams[i] = sv->streams[i - 1];
+    }
 
     return STREAMS_set_row(view, row, rec, 0);
 }




More information about the wine-cvs mailing list