[MMSYS] Do not disable a group box when no mixers are detected. By Jared Smudde....
[reactos.git] / reactos / dll / cpl / mmsys / volume.c
index 9d1957a..204a949 100644 (file)
@@ -9,6 +9,8 @@
 
 #include "mmsys.h"
 
+#include <shellapi.h>
+
 #define VOLUME_DIVIDER 0xFFF
 
 typedef struct _IMGINFO
@@ -24,6 +26,7 @@ typedef struct _GLOBAL_DATA
     HMIXER hMixer;
     HICON hIconMuted;
     HICON hIconUnMuted;
+    HICON hIconNoHW;
 
     LONG muteVal;
     DWORD muteControlID;
@@ -229,10 +232,9 @@ InitVolumeControls(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
         EnableWindow(GetDlgItem(hwndDlg, IDC_MUTE_CHECKBOX),   FALSE);
         EnableWindow(GetDlgItem(hwndDlg, IDC_ICON_IN_TASKBAR), FALSE);
         EnableWindow(GetDlgItem(hwndDlg, IDC_ADVANCED_BTN),    FALSE);
-        EnableWindow(GetDlgItem(hwndDlg, IDC_SPEAKER_SET_BTN), FALSE);
         EnableWindow(GetDlgItem(hwndDlg, IDC_SPEAKER_VOL_BTN), FALSE);
         EnableWindow(GetDlgItem(hwndDlg, IDC_ADVANCED2_BTN),   FALSE);
-        SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconMuted);
+        SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconNoHW);
         return;
     }
 
@@ -331,6 +333,7 @@ VolumeDlgProc(HWND hwndDlg,
 
             pGlobalData->hIconUnMuted = LoadImage(hApplet, MAKEINTRESOURCE(IDI_CPLICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
             pGlobalData->hIconMuted = LoadImage(hApplet, MAKEINTRESOURCE(IDI_MUTED_ICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
+            pGlobalData->hIconNoHW = LoadImage(hApplet, MAKEINTRESOURCE(IDI_NO_HW), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
 
             InitImageInfo(&ImgInfo);
             InitVolumeControls(hwndDlg, pGlobalData);
@@ -409,6 +412,7 @@ VolumeDlgProc(HWND hwndDlg,
             mixerClose(pGlobalData->hMixer);
             DestroyIcon(pGlobalData->hIconMuted);
             DestroyIcon(pGlobalData->hIconUnMuted);
+            DestroyIcon(pGlobalData->hIconNoHW);
             HeapFree(GetProcessHeap(), 0, pGlobalData);
             break;
     }