https://git.reactos.org/?p=reactos.git;a=commitdiff;h=45f0d7413c1eec69fe6728...
commit 45f0d7413c1eec69fe6728fcd26acc561d93f46f Author: Eric Kohl eric.kohl@reactos.org AuthorDate: Mon Feb 11 21:16:32 2019 +0100 Commit: Eric Kohl eric.kohl@reactos.org CommitDate: Mon Feb 11 21:16:32 2019 +0100
[SNDVOL32] Disable the balance trackbar for mono channels.
CORE-15743 --- base/applications/sndvol32/dialog.c | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-)
diff --git a/base/applications/sndvol32/dialog.c b/base/applications/sndvol32/dialog.c index 8ff9a490b4..a93a638034 100644 --- a/base/applications/sndvol32/dialog.c +++ b/base/applications/sndvol32/dialog.c @@ -562,21 +562,36 @@ EnumConnectionsCallback( } }
- /* Set the balance trackbar */ - wID = (PrefContext->Count + 1) * IDC_LINE_SLIDER_HORZ; - - /* get dialog control */ - hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); + if (Line->cChannels == 1) + { + /* Disable the balance trackbar for mono channels */ + wID = (PrefContext->Count + 1) * IDC_LINE_SLIDER_HORZ;
- if (hDlgCtrl != NULL) + /* get dialog control */ + hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); + if (hDlgCtrl != NULL) + { + EnableWindow(hDlgCtrl, FALSE); + } + } + else if (Line->cChannels == 2) { - /* check state */ - LRESULT OldPosition = SendMessageW(hDlgCtrl, TBM_GETPOS, 0, 0); + /* Set the balance trackbar */ + wID = (PrefContext->Count + 1) * IDC_LINE_SLIDER_HORZ; + + /* get dialog control */ + hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID);
- if (OldPosition != balancePosition) + if (hDlgCtrl != NULL) { - /* update control state */ - SendMessageW(hDlgCtrl, TBM_SETPOS, (WPARAM)TRUE, balancePosition); + /* check state */ + LRESULT OldPosition = SendMessageW(hDlgCtrl, TBM_GETPOS, 0, 0); + + if (OldPosition != balancePosition) + { + /* update control state */ + SendMessageW(hDlgCtrl, TBM_SETPOS, (WPARAM)TRUE, balancePosition); + } } } }