diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 1ef7d0e0356..61ff2176fca 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1762,7 +1762,13 @@ static UINT* msi_record_to_row( MSITABLEVIEW *tv, MSIRECORD *rec ) } } else + { data[i] = MSI_RecordGetInteger( rec, i+1 ); + if ((tv->columns[i].type&0xff) == 2) + data[i] += 0x8000; + else + data[i] += 0x80000000; + } } return data; } diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c index 5fc33eb28c0..f3e15a8ab9c 100644 --- a/dlls/msi/tests/db.c +++ b/dlls/msi/tests/db.c @@ -1913,7 +1913,7 @@ static void test_try_transform(void) hrec = 0; query = "select `NOO`,`OOO` from `MOO` where `NOO` = 1 AND `OOO` = 'c'"; r = do_query(hdb, query, &hrec); - todo_wine ok(r == ERROR_SUCCESS, "select query failed\n"); + ok(r == ERROR_SUCCESS, "select query failed\n"); MsiCloseHandle(hrec); /* check unchanged value */ @@ -1927,7 +1927,7 @@ static void test_try_transform(void) hrec = 0; query = "select * from `MOO` where `NOO` = 3"; r = do_query(hdb, query, &hrec); - todo_wine ok(r == ERROR_NO_MORE_ITEMS, "select query failed\n"); + ok(r == ERROR_NO_MORE_ITEMS, "select query failed\n"); if (hrec) MsiCloseHandle(hrec); MsiCloseHandle( hdb );