Hans Leidekker : msi: Update the UI in the AppSearch action.

Alexandre Julliard julliard at winehq.org
Fri Mar 5 09:42:56 CST 2010


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Mar  5 12:23:53 2010 +0100

msi: Update the UI in the AppSearch action.

---

 dlls/msi/appsearch.c |   16 +++++++++++-----
 dlls/msi/msipriv.h   |    1 +
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/dlls/msi/appsearch.c b/dlls/msi/appsearch.c
index c4e4e58..12c7411 100644
--- a/dlls/msi/appsearch.c
+++ b/dlls/msi/appsearch.c
@@ -1026,13 +1026,15 @@ static UINT ACTION_AppSearchSigName(MSIPACKAGE *package, LPCWSTR sigName,
 static UINT iterate_appsearch(MSIRECORD *row, LPVOID param)
 {
     MSIPACKAGE *package = param;
-    LPWSTR propName, sigName, value = NULL;
+    LPCWSTR propName, sigName;
+    LPWSTR value = NULL;
     MSISIGNATURE sig;
+    MSIRECORD *uirow;
     UINT r;
 
     /* get property and signature */
-    propName = msi_dup_record_field(row,1);
-    sigName = msi_dup_record_field(row,2);
+    propName = MSI_RecordGetString(row, 1);
+    sigName = MSI_RecordGetString(row, 2);
 
     TRACE("%s %s\n", debugstr_w(propName), debugstr_w(sigName));
 
@@ -1043,8 +1045,12 @@ static UINT iterate_appsearch(MSIRECORD *row, LPVOID param)
         msi_free(value);
     }
     ACTION_FreeSignature(&sig);
-    msi_free(propName);
-    msi_free(sigName);
+
+    uirow = MSI_CreateRecord( 2 );
+    MSI_RecordSetStringW( uirow, 1, propName );
+    MSI_RecordSetStringW( uirow, 2, sigName );
+    ui_actiondata( package, szAppSearch, uirow );
+    msiobj_release( &uirow->hdr );
 
     return r;
 }
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 9e2ffe2..97d79c4 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -1081,6 +1081,7 @@ static const WCHAR szHCU[] = {'H','K','E','Y','_','C','U','R','R','E','N','T','_
 static const WCHAR szHLM[] = {'H','K','E','Y','_','L','O','C','A','L','_','M','A','C','H','I','N','E','\\',0};
 static const WCHAR szHU[] = {'H','K','E','Y','_','U','S','E','R','S','\\',0};
 static const WCHAR szWindowsFolder[] = {'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
+static const WCHAR szAppSearch[] = {'A','p','p','S','e','a','r','c','h',0};
 
 /* memory allocation macro functions */
 static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);




More information about the wine-cvs mailing list