From 477c9d2a4e85ea68d24a7cd257d272b0feb4365b Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Wed, 18 Mar 2020 16:36:47 -0500 Subject: [PATCH] Bug 2070 - Linux: Crash on Rescan Audio Devices if Jack already stopped --- lib-src/portaudio-v19/src/hostapi/jack/pa_jack.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib-src/portaudio-v19/src/hostapi/jack/pa_jack.c b/lib-src/portaudio-v19/src/hostapi/jack/pa_jack.c index 787d81ddb..48a6054fe 100644 --- a/lib-src/portaudio-v19/src/hostapi/jack/pa_jack.c +++ b/lib-src/portaudio-v19/src/hostapi/jack/pa_jack.c @@ -1008,12 +1008,18 @@ static void Terminate( struct PaUtilHostApiRepresentation *hostApi ) /* note: this automatically disconnects all ports, since a deactivated * client is not allowed to have any ports connected */ - ASSERT_CALL( jack_deactivate( jackHostApi->jack_client ), 0 ); + if( !jackHostApi->jackIsDown ) + { + ASSERT_CALL( jack_deactivate( jackHostApi->jack_client ), 0 ); + } PaJack_TerminateHostApiMutex( jackHostApi ); PaJack_TerminateCommandSync( jackHostApi ); - ASSERT_CALL( jack_client_close( jackHostApi->jack_client ), 0 ); + if( !jackHostApi->jackIsDown ) + { + ASSERT_CALL( jack_client_close( jackHostApi->jack_client ), 0 ); + } if( jackHostApi->deviceInfoMemory ) {