From 0af7e9e0d8b2360854bc3a5639a23b69adae225f Mon Sep 17 00:00:00 2001 From: vrld Date: Wed, 12 Jan 2011 22:55:29 +0100 Subject: [PATCH] Fix issue #169 by courtesy of lukaszbruun. Calling Source::stop() in Source::~Source() could result in a infinite recursion when Pool::removeSource released the source object. --- src/modules/audio/openal/Source.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/audio/openal/Source.cpp b/src/modules/audio/openal/Source.cpp index 4ec7727dd..931519fed 100644 --- a/src/modules/audio/openal/Source.cpp +++ b/src/modules/audio/openal/Source.cpp @@ -82,7 +82,8 @@ namespace openal void Source::stop() { - pool->stop(this); + if (!isStopped()) + pool->stop(this); } void Source::pause()