Hans Leidekker : msi: Avoid registering duplicate source list information.

Alexandre Julliard julliard at winehq.org
Mon Mar 7 12:22:45 CST 2011


Module: wine
Branch: master
Commit: 40ad619ac334732ea4dd5c073e2a13d5a899922d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=40ad619ac334732ea4dd5c073e2a13d5a899922d

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Mon Mar  7 12:40:20 2011 +0100

msi: Avoid registering duplicate source list information.

---

 dlls/msi/package.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index 5606d28..8d5fc18 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -2567,6 +2567,11 @@ UINT msi_package_add_info(MSIPACKAGE *package, DWORD context, DWORD options,
 {
     MSISOURCELISTINFO *info;
 
+    LIST_FOR_EACH_ENTRY( info, &package->sourcelist_info, MSISOURCELISTINFO, entry )
+    {
+        if (!strcmpW( info->value, value )) return ERROR_SUCCESS;
+    }
+
     info = msi_alloc(sizeof(MSISOURCELISTINFO));
     if (!info)
         return ERROR_OUTOFMEMORY;
@@ -2585,6 +2590,11 @@ UINT msi_package_add_media_disk(MSIPACKAGE *package, DWORD context, DWORD option
 {
     MSIMEDIADISK *disk;
 
+    LIST_FOR_EACH_ENTRY( disk, &package->sourcelist_media, MSIMEDIADISK, entry )
+    {
+        if (disk->disk_id == disk_id) return ERROR_SUCCESS;
+    }
+
     disk = msi_alloc(sizeof(MSIMEDIADISK));
     if (!disk)
         return ERROR_OUTOFMEMORY;




More information about the wine-cvs mailing list