[RAPPS]
authorColin Finck <colin@reactos.org>
Sun, 13 Mar 2011 12:44:58 +0000 (12:44 +0000)
committerColin Finck <colin@reactos.org>
Sun, 13 Mar 2011 12:44:58 +0000 (12:44 +0000)
Fix a bug while testing Rapps under Windows. If you had an application with no registered DisplayName installed, Rapps used to consider every application with no RegName in its database (= currently all Rapps applications) installed. Therefore the list of available applications has always been empty.
Now an application is always added to the ListView if no RegName is set for it.

svn path=/trunk/; revision=51033

reactos/base/applications/rapps/winmain.c

index f39b34a..33e6f6f 100644 (file)
@@ -144,8 +144,11 @@ EnumAvailableAppProc(APPLICATION_INFO Info)
     PAPPLICATION_INFO ItemInfo;
     INT Index;
 
     PAPPLICATION_INFO ItemInfo;
     INT Index;
 
-    if (!IsInstalledApplication(Info.szRegName, FALSE) &&
-        !IsInstalledApplication(Info.szRegName, TRUE))
+    /* Only add a ListView entry if...
+         - no RegName was supplied (so we cannot determine whether the application is installed or not) or
+         - a RegName was supplied and the application is not installed
+    */
+    if (!*Info.szRegName || (!IsInstalledApplication(Info.szRegName, FALSE) && !IsInstalledApplication(Info.szRegName, TRUE)))
     {
         ItemInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(APPLICATION_INFO));
         if (!ItemInfo) return FALSE;
     {
         ItemInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(APPLICATION_INFO));
         if (!ItemInfo) return FALSE;