https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e13c3e856f82faa0d09905b57f17efec73e0abdd

commit e13c3e856f82faa0d09905b57f17efec73e0abdd
Author:     Atharva Kulkarni <atharvak1...@gmail.com>
AuthorDate: Sun Apr 2 22:46:18 2023 +0530
Commit:     GitHub <nore...@github.com>
CommitDate: Sun Apr 2 19:16:18 2023 +0200

    [MSI] Revert to previous working solution for disk usage display in 
dialog.c (#5194)
    
    
    There is a bug, which displays empty optical drive as a valid Drive where 
applications can be installed, which is wrong. This change will skip displaying 
any drives that are not fixed in the disk usage table in the msi installer UI.
    
    JIRA issue: CORE-18758
    
    Proposed changes
    
    Revert to old solution from Doug Lyons which was working fine.
---
 dll/win32/msi/dialog.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/dll/win32/msi/dialog.c b/dll/win32/msi/dialog.c
index 8e4c1511081..1bea93dc081 100644
--- a/dll/win32/msi/dialog.c
+++ b/dll/win32/msi/dialog.c
@@ -3206,7 +3206,11 @@ static void msi_dialog_vcl_add_drives( msi_dialog 
*dialog, msi_control *control
     WCHAR cost_text[MAX_PATH];
     LPWSTR drives, ptr;
     LVITEMW lvitem;
+#ifdef __REACTOS__
+    DWORD size;
+#else
     DWORD size, flags;
+#endif
     int i = 0;
 
     cost = msi_vcl_get_cost(dialog);
@@ -3223,8 +3227,12 @@ static void msi_dialog_vcl_add_drives( msi_dialog 
*dialog, msi_control *control
     ptr = drives;
     while (*ptr)
     {
+#ifdef __REACTOS__
+        if (GetDriveTypeW(ptr) != DRIVE_FIXED)
+#else
         if (GetVolumeInformationW(ptr, NULL, 0, NULL, 0, &flags, NULL, 0) &&
             flags & FILE_READ_ONLY_VOLUME)
+#endif
         {
             ptr += lstrlenW(ptr) + 1;
             continue;

Reply via email to