Blob Blame History Raw
diff -ur arts-1.5.10/flow/audioioalsa9.cc arts-1.5.10-assertion-failure/flow/audioioalsa9.cc
--- arts-1.5.10/flow/audioioalsa9.cc	2007-10-08 11:47:09.000000000 +0200
+++ arts-1.5.10-assertion-failure/flow/audioioalsa9.cc	2010-03-24 20:07:13.000000000 +0100
@@ -176,7 +176,7 @@
 			_error += " can't be opened for capture (";
 			_error += snd_strerror(err);
 			_error += ")";
-			snd_pcm_close(m_pcm_playback);
+			if (m_pcm_playback) snd_pcm_close(m_pcm_playback);
 			return false;
 		}
 		snd_pcm_nonblock(m_pcm_capture, 0);
@@ -190,8 +190,8 @@
 	/* set PCM communication parameters */
 	if (((_direction & directionWrite) && setPcmParams(m_pcm_playback)) ||
 	    ((_direction & directionRead) && setPcmParams(m_pcm_capture))) {
-		snd_pcm_close(m_pcm_playback);
-		snd_pcm_close(m_pcm_capture);
+		if (m_pcm_playback) snd_pcm_close(m_pcm_playback);
+		if (m_pcm_capture) snd_pcm_close(m_pcm_capture);
 		return false;
 	}