[06/10] msi: Make room for the new row in STREAMS_insert_row.
Hans Leidekker
hans at codeweavers.com
Thu Feb 4 03:02:26 CST 2010
---
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);
}
--
1.6.3.3
More information about the wine-patches
mailing list