Module: wine Branch: master Commit: 24dd10c6b0fe346f2180f0278494ae3b4b2033bb URL: http://source.winehq.org/git/wine.git/?a=commit;h=24dd10c6b0fe346f2180f02784...
Author: Hans Leidekker hans@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); }