[3/4] msi: Components don't require a key path.

Hans Leidekker hans at codeweavers.com
Tue Nov 16 02:07:23 CST 2010


Fixes http://bugs.winehq.org/show_bug.cgi?id=25159
---
 dlls/msi/action.c  |    3 +--
 dlls/msi/classes.c |    3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 5328193..511d82b 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -3245,8 +3245,7 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
                     '>','=',' ','%','i',' ','O','R','D','E','R',' ','B','Y',' ',
                     '`','D','i','s','k','I','d','`',0};
 
-                file = get_loaded_file(package, comp->KeyPath);
-                if (!file)
+                if (!comp->KeyPath || !(file = get_loaded_file(package, comp->KeyPath)))
                     continue;
 
                 row = MSI_QueryGetRecord(package->db, query, file->Sequence);
diff --git a/dlls/msi/classes.c b/dlls/msi/classes.c
index 9305e04..d11f48b 100644
--- a/dlls/msi/classes.c
+++ b/dlls/msi/classes.c
@@ -850,8 +850,7 @@ UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
         }
         feature->Action = feature->ActionRequest;
 
-        file = get_loaded_file( package, comp->KeyPath );
-        if (!file)
+        if (!comp->KeyPath || !(file = get_loaded_file( package, comp->KeyPath )))
         {
             TRACE("COM server not provided, skipping class %s\n", debugstr_w(cls->clsid));
             continue;
-- 
1.7.1







More information about the wine-patches mailing list