From 16aa4fd1a7420a1bd9fcaacd04163afb68095c76 Mon Sep 17 00:00:00 2001
From: Nathan Stewart <therealnathanstewart@gmail.com>
Date: Tue, 6 Sep 2016 20:14:25 -0400
Subject: [PATCH] Fixes 7004 - Ardour crash on Just Quit when AudioEngine is
 stopped. AudioEngine::stop() if running() is not true and _backend->stop() is
 true, mutex was being unlocked without being locked.

---
 libs/ardour/audioengine.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index 30c2113..2ca80e3 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -906,7 +906,9 @@ AudioEngine::stop (bool for_latency)
 		stop_engine = false;
 	} else {
 		if (_backend->stop ()) {
-			pl.release ();
+			if (pl.locked ()) { 
+                            pl.release ();
+                        }
 			return -1;
 		}
 	}
-- 
2.7.4

