[ros-diffs] [janderwald] 41363: - Topology nodes can have a nullable name - Disable releasing resources when IPortFilterWaveCyclic is closed

janderwald at svn.reactos.org janderwald at svn.reactos.org
Tue Jun 9 23:55:13 CEST 2009


Author: janderwald
Date: Wed Jun 10 01:55:12 2009
New Revision: 41363

URL: http://svn.reactos.org/svn/reactos?rev=41363&view=rev
Log:
- Topology nodes can have a nullable name
- Disable releasing resources when IPortFilterWaveCyclic is closed

Modified:
    trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c
    trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c
    trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c

Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c?rev=41363&r1=41362&r2=41363&view=diff
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c [iso-8859-1] Wed Jun 10 01:55:12 2009
@@ -236,7 +236,7 @@
     IN PIRP Irp)
 {
     ULONG Index;
-    PMINIPORTWAVECYCLIC Miniport;
+    //PMINIPORTWAVECYCLIC Miniport;
     IPortFilterWaveCyclicImpl * This = (IPortFilterWaveCyclicImpl *)iface;
 
     for(Index = 0; Index < This->Descriptor->Factory.PinDescriptorCount; Index++)
@@ -246,12 +246,12 @@
     }
 
     /* release reference to port */
-    This->Port->lpVtbl->Release(This->Port);
+    //This->Port->lpVtbl->Release(This->Port);
 
     /* get the miniport driver */
-    Miniport = GetWaveCyclicMiniport(This->Port);
+    //Miniport = GetWaveCyclicMiniport(This->Port);
     /* release miniport driver */
-    Miniport->lpVtbl->Release(Miniport);
+    //Miniport->lpVtbl->Release(Miniport);
 
 
     Irp->IoStatus.Status = STATUS_SUCCESS;

Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c?rev=41363&r1=41362&r2=41363&view=diff
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c [iso-8859-1] Wed Jun 10 01:55:12 2009
@@ -393,13 +393,15 @@
 
         /* insert into list to free later */
         ExInterlockedInsertTailList(&This->FreeHead, &CurMapping->Entry, &This->Lock);
+        DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p Mapping %p\n", Tag, CurMapping);
     }
     else
     {
         /* we can free this entry now */
         FreeItem(CurMapping, TAG_PORTCLASS);
-    }
-    DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p\n", Tag);
+        DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p Mapping %p FREED\n", Tag, CurMapping);
+    }
+
     return STATUS_SUCCESS;
 }
 

Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c?rev=41363&r1=41362&r2=41363&view=diff
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c [iso-8859-1] Wed Jun 10 01:55:12 2009
@@ -236,8 +236,14 @@
 
         for(Index = 0; Index < FilterDescription->NodeCount; Index++)
         {
-            RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodes[Index], FilterDescription->Nodes[Index].Type, sizeof(GUID));
-            RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodesNames[Index], FilterDescription->Nodes[Index].Name, sizeof(GUID));
+            if (FilterDescription->Nodes[Index].Type)
+            {
+                RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodes[Index], FilterDescription->Nodes[Index].Type, sizeof(GUID));
+            }
+            if (FilterDescription->Nodes[Index].Name)
+            {
+                RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodesNames[Index], FilterDescription->Nodes[Index].Name, sizeof(GUID));
+            }
         }
         Descriptor->Topology->TopologyNodesCount = FilterDescription->NodeCount;
     }



More information about the Ros-diffs mailing list