From 3a5178e900bd0e12875d00628199918dbd29e7e7 Mon Sep 17 00:00:00 2001 From: James Hawkins Date: Mon, 5 Nov 2007 04:48:15 -0500 Subject: [PATCH] msi: Don't update a table entry when applying a transform if the string value is the same. --- dlls/msi/table.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 117c8364c4d..c02b1f2325b 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1323,6 +1323,16 @@ static UINT TABLE_set_row( struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UI else if ( tv->columns[i].type & MSITYPE_STRING ) { LPCWSTR sval = MSI_RecordGetString( rec, i + 1 ); + UINT ival, x; + + r = msi_string2idW(tv->db->strings, sval, &ival); + if (r == ERROR_SUCCESS) + { + TABLE_fetch_int(&tv->view, row, i + 1, &x); + if (ival == x) + continue; + } + val = msi_addstringW( tv->db->strings, 0, sval, -1, 1, persistent ? StringPersistent : StringNonPersistent ); }