Author: janderwald
Date: Fri Dec  2 17:35:53 2011
New Revision: 54562

URL: http://svn.reactos.org/svn/reactos?rev=54562&view=rev
Log:
- add debug code for handling bug 6663

Modified:
    trunk/reactos/lib/drivers/sound/mmixer/controls.c

Modified: trunk/reactos/lib/drivers/sound/mmixer/controls.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/sound/mmixer/controls.c?rev=54562&r1=54561&r2=54562&view=diff
==============================================================================
--- trunk/reactos/lib/drivers/sound/mmixer/controls.c [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/sound/mmixer/controls.c [iso-8859-1] Fri Dec  2 
17:35:53 2011
@@ -468,6 +468,15 @@
     /* 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 @@
     if (Status != MM_STATUS_SUCCESS)
     {
         /* out of memory */
-        return MM_STATUS_NO_MEMORY;
+        return Status;
     }
 
     /* get all destination line controls */


Reply via email to