diff --git a/src/hostapi/wdmks/pa_win_wdmks.c b/src/hostapi/wdmks/pa_win_wdmks.c index 608c1c3..2fe922f 100644 --- a/src/hostapi/wdmks/pa_win_wdmks.c +++ b/src/hostapi/wdmks/pa_win_wdmks.c @@ -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;