Hans Leidekker : msi: Always evaluate component conditions.

Alexandre Julliard julliard at winehq.org
Wed Apr 28 16:35:50 CDT 2010


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Apr 27 13:30:10 2010 +0200

msi: Always evaluate component conditions.

Fixes a regression caused by 0d770c96fe3172a7db64d7efb7819a70a6352370.

---

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

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 7f2fd7e..5168cf9 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -2062,7 +2062,7 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
 
     if (!process_overrides( package, msi_get_property_int( package->db, szlevel, 1 ) ))
     {
-        TRACE("Evaluating Condition Table\n");
+        TRACE("Evaluating feature conditions\n");
 
         rc = MSI_DatabaseOpenViewW( package->db, ConditionQuery, &view );
         if (rc == ERROR_SUCCESS)
@@ -2070,18 +2070,18 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
             rc = MSI_IterateRecords( view, NULL, ITERATE_CostFinalizeConditions, package );
             msiobj_release( &view->hdr );
         }
+    }
+    TRACE("Evaluating component conditions\n");
 
-        TRACE("Enabling or Disabling Components\n");
-        LIST_FOR_EACH_ENTRY( comp, &package->components, MSICOMPONENT, entry )
+    LIST_FOR_EACH_ENTRY( comp, &package->components, MSICOMPONENT, entry )
+    {
+        if (MSI_EvaluateConditionW( package, comp->Condition ) == MSICONDITION_FALSE)
         {
-            if (MSI_EvaluateConditionW( package, comp->Condition ) == MSICONDITION_FALSE)
-            {
-                TRACE("Disabling component %s\n", debugstr_w(comp->Component));
-                comp->Enabled = FALSE;
-            }
-            else
-                comp->Enabled = TRUE;
+            TRACE("Disabling component %s\n", debugstr_w(comp->Component));
+            comp->Enabled = FALSE;
         }
+        else
+            comp->Enabled = TRUE;
     }
 
     msi_set_property( package->db, szCosting, szOne );




More information about the wine-cvs mailing list