From 2e7e8bb0f6bb1af0efc778f660ed660e5a2945a4 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Mon, 25 Apr 2011 20:34:41 +0000 Subject: [PATCH] [MMIXER] - Merge 50674 to trunk: - Allocate memory for the logical pin array - Use the correct counter variable for logical pin array - Found by msvc See issue #6143 for more details. svn path=/trunk/; revision=51455 --- reactos/lib/drivers/sound/mmixer/sup.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/reactos/lib/drivers/sound/mmixer/sup.c b/reactos/lib/drivers/sound/mmixer/sup.c index 9052e94fb9c..6d83e2cc4cf 100644 --- a/reactos/lib/drivers/sound/mmixer/sup.c +++ b/reactos/lib/drivers/sound/mmixer/sup.c @@ -544,6 +544,14 @@ MMixerSetGetMuxControlDetails( ASSERT(MixerData->Topology); ASSERT(MixerData->MixerInfo == MixerInfo); + /* now allocate logical pin array */ + Status = MMixerAllocateTopologyNodeArray(MixerContext, MixerData->Topology, &LogicalNodes); + if (Status != MM_STATUS_SUCCESS) + { + /* no memory */ + return MM_STATUS_NO_MEMORY; + } + /* get logical pin nodes */ MMixerGetConnectedFromLogicalTopologyPins(MixerData->Topology, MixerControl->NodeID, &LogicalNodesCount, LogicalNodes); @@ -552,7 +560,7 @@ MMixerSetGetMuxControlDetails( ASSERT(LogicalNodesCount == MixerControl->Control.Metrics.dwReserved[0]); Values = (LPMIXERCONTROLDETAILS_BOOLEAN)MixerControlDetails->paDetails; - for(Index = 0; Index < ConnectedNodesCount; Index++) + for(Index = 0; Index < LogicalNodesCount; Index++) { /* getting logical pin offset */ MMixerGetLowestLogicalTopologyPinOffsetFromArray(LogicalNodesCount, LogicalNodes, &CurLogicalPinOffset);