Zebediah Figura : msi: Don' t check the primary keys when handling MSIMODIFY_DELETE.

Alexandre Julliard julliard at winehq.org
Tue Jan 29 15:18:16 CST 2019


Module: wine
Branch: master
Commit: 96b6d6b58725f17f3faabeeffe82d2b8bd5f0445
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=96b6d6b58725f17f3faabeeffe82d2b8bd5f0445

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Mon Jan 28 22:11:12 2019 -0600

msi: Don't check the primary keys when handling MSIMODIFY_DELETE.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 a2b83e2..57114ba 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 cbdfd3c..e8ae8d2 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);
 




More information about the wine-cvs mailing list