Hans Leidekker : msi: Change ACTION_UpdateComponentStates to take a feature pointer.

Alexandre Julliard julliard at winehq.org
Fri Dec 24 09:26:20 CST 2010


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Dec 24 15:32:01 2010 +0100

msi: Change ACTION_UpdateComponentStates to take a feature pointer.

---

 dlls/msi/dialog.c  |    2 +-
 dlls/msi/helpers.c |    7 +------
 dlls/msi/install.c |    2 +-
 dlls/msi/msipriv.h |    2 +-
 4 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index b833070..ce90418 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -2127,7 +2127,7 @@ msi_seltree_update_feature_installstate( HWND hwnd, HTREEITEM hItem,
 {
     msi_feature_set_state( package, feature, state );
     msi_seltree_sync_item_state( hwnd, feature, hItem );
-    ACTION_UpdateComponentStates( package, feature->Feature );
+    ACTION_UpdateComponentStates( package, feature );
 }
 
 static void
diff --git a/dlls/msi/helpers.c b/dlls/msi/helpers.c
index ec8db47..df5d448 100644
--- a/dlls/msi/helpers.c
+++ b/dlls/msi/helpers.c
@@ -639,16 +639,11 @@ LPWSTR create_component_advertise_string(MSIPACKAGE* package,
 }
 
 /* update component state based on a feature change */
-void ACTION_UpdateComponentStates(MSIPACKAGE *package, LPCWSTR szFeature)
+void ACTION_UpdateComponentStates( MSIPACKAGE *package, MSIFEATURE *feature )
 {
     INSTALLSTATE newstate;
-    MSIFEATURE *feature;
     ComponentList *cl;
 
-    feature = get_loaded_feature(package,szFeature);
-    if (!feature)
-        return;
-
     newstate = feature->ActionRequest;
 
     if (newstate == INSTALLSTATE_ABSENT)
diff --git a/dlls/msi/install.c b/dlls/msi/install.c
index d34de8c..338ef0a 100644
--- a/dlls/msi/install.c
+++ b/dlls/msi/install.c
@@ -827,7 +827,7 @@ UINT WINAPI MSI_SetFeatureStateW(MSIPACKAGE* package, LPCWSTR szFeature,
 
     feature->ActionRequest = iState;
 
-    ACTION_UpdateComponentStates(package,szFeature);
+    ACTION_UpdateComponentStates( package, feature );
 
     /* update all the features that are children of this feature */
     LIST_FOR_EACH_ENTRY( child, &package->features, MSIFEATURE, entry )
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 4429fc1..10ddb4e 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -945,7 +945,7 @@ extern LPWSTR build_directory_name(DWORD , ...);
 extern BOOL create_full_pathW(const WCHAR *path);
 extern void reduce_to_longfilename(WCHAR*);
 extern LPWSTR create_component_advertise_string(MSIPACKAGE*, MSICOMPONENT*, LPCWSTR);
-extern void ACTION_UpdateComponentStates(MSIPACKAGE *package, LPCWSTR szFeature);
+extern void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature);
 extern UINT register_unique_action(MSIPACKAGE *, LPCWSTR);
 extern BOOL check_unique_action(const MSIPACKAGE *, LPCWSTR);
 extern WCHAR* generate_error_string(MSIPACKAGE *, UINT, DWORD, ... );




More information about the wine-cvs mailing list