[PATCH 5/5] msi: Don't check the primary keys when handling MSIMODIFY_DELETE.

Zebediah Figura z.figura12 at gmail.com
Mon Jan 28 22:11:12 CST 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/msi/table.c    | 14 +-------------
 dlls/msi/tests/db.c |  1 +
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/dlls/msi/table.c b/dlls/msi/table.c
index a2b83e27de..57114baa74 100644
--- a/dlls/msi/table.c
+++ b/dlls/msi/table.c
@@ -1835,18 +1835,6 @@ static UINT msi_table_assign(struct tagMSIVIEW *view, MSIRECORD *rec)
         return TABLE_insert_row( view, rec, -1, FALSE );
 }
 
-static UINT modify_delete_row( struct tagMSIVIEW *view, MSIRECORD *rec )
-{
-    MSITABLEVIEW *tv = (MSITABLEVIEW *)view;
-    UINT row, r;
-
-    r = msi_table_find_row(tv, rec, &row, NULL);
-    if (r != ERROR_SUCCESS)
-        return r;
-
-    return TABLE_delete_row(view, row);
-}
-
 static UINT msi_refresh_record( struct tagMSIVIEW *view, MSIRECORD *rec, UINT row )
 {
     MSIRECORD *curr;
@@ -1878,7 +1866,7 @@ static UINT TABLE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
     switch (eModifyMode)
     {
     case MSIMODIFY_DELETE:
-        r = modify_delete_row( view, rec );
+        r = TABLE_delete_row( view, row );
         break;
     case MSIMODIFY_VALIDATE_NEW:
         r = table_validate_new( tv, rec, &column );
diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index 3b0d2ef91e..a823da6003 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -5498,6 +5498,7 @@ static void test_viewmodify_delete(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
     /* delete 2 */
+    MsiRecordSetInteger(hrec, 1, 4);
     r = MsiViewModify(hview, MSIMODIFY_DELETE, hrec);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
-- 
2.20.1




More information about the wine-devel mailing list