From 38734d95d1ce6eff1224ba77eaf84b8ea1155f0c Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 2 Dec 2011 17:35:53 +0000 Subject: [PATCH] - add debug code for handling bug 6663 svn path=/trunk/; revision=54562 --- reactos/lib/drivers/sound/mmixer/controls.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/reactos/lib/drivers/sound/mmixer/controls.c b/reactos/lib/drivers/sound/mmixer/controls.c index e7bd2886ef5..a92c1e82032 100644 --- a/reactos/lib/drivers/sound/mmixer/controls.c +++ b/reactos/lib/drivers/sound/mmixer/controls.c @@ -468,6 +468,15 @@ MMixerCountMixerControls( /* get next nodes */ MMixerGetNextNodesFromPinIndex(MixerContext, Topology, PinId, bUpStream, &NodesCount, Nodes); + if (NodesCount > 1) + { + /* FIXME: the pin is connected by several nodes */ + DPRINT1("Topology split detected at Pin %lu bUpStream %lu NodesCount %lu", PinId, bUpStream, NodesCount); + for(NodeIndex = 0; NodeIndex < NodesCount; NodeIndex++) + DPRINT1("Pin Connected from Node %lu", Nodes[NodeIndex]); + return MM_STATUS_UNSUCCESSFUL; + } + /* assume no topology split before getting line terminator */ ASSERT(NodesCount == 1); @@ -1168,7 +1177,7 @@ MMixerAddMixerControlsToDestinationLine( if (Status != MM_STATUS_SUCCESS) { /* out of memory */ - return MM_STATUS_NO_MEMORY; + return Status; } /* get all destination line controls */