]> Repos - portaudio/commitdiff
wdm/ks hotplug: fixed two bugs in CommitDeviceInfos() Firstly, hostApi->info.deviceCo...
authorRoss Bencina <rossb@audiomulch.com>
Fri, 2 Sep 2016 08:52:22 +0000 (18:52 +1000)
committerRoss Bencina <rossb@audiomulch.com>
Fri, 2 Sep 2016 08:52:22 +0000 (18:52 +1000)
src/hostapi/wdmks/pa_win_wdmks.c

index 608c1c3e10f31d9ab14261e2cfd016ade0adb9aa..2fe922f5d72aaafd52ff07d1a7da99c4848123a8 100644 (file)
@@ -3706,10 +3706,6 @@ static PaError CommitDeviceInfos( struct PaUtilHostApiRepresentation *hostApi, P
 {
     PaWinWdmHostApiRepresentation *wdmHostApi = (PaWinWdmHostApiRepresentation*)hostApi;
 
-    hostApi->info.deviceCount = 0;
-    hostApi->info.defaultInputDevice = paNoDevice;
-    hostApi->info.defaultOutputDevice = paNoDevice;
-
     /* Free any old memory which might be in the device info */
     if( hostApi->deviceInfos )
     {
@@ -3717,11 +3713,15 @@ static PaError CommitDeviceInfos( struct PaUtilHostApiRepresentation *hostApi, P
             wdmHostApi->allocations, sizeof(PaWinWDMScanDeviceInfosResults));
         localScanResults->deviceInfos = hostApi->deviceInfos;
 
-        DisposeDeviceInfos(hostApi, &localScanResults, hostApi->info.deviceCount);
+        DisposeDeviceInfos(hostApi, localScanResults, hostApi->info.deviceCount);
 
         hostApi->deviceInfos = NULL;
     }
 
+    hostApi->info.deviceCount = 0;
+    hostApi->info.defaultInputDevice = paNoDevice;
+    hostApi->info.defaultOutputDevice = paNoDevice;
+
     if( scanResults != NULL )
     {
         PaWinWDMScanDeviceInfosResults *scanDeviceInfosResults = ( PaWinWDMScanDeviceInfosResults * ) scanResults;