diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/butler.cc | 2 | ||||
| -rw-r--r-- | src/lib/butler.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/butler.cc b/src/lib/butler.cc index 7481b0301..81e09fbd3 100644 --- a/src/lib/butler.cc +++ b/src/lib/butler.cc @@ -98,6 +98,8 @@ try } } catch (boost::thread_interrupted) { /* The butler thread is being terminated */ +} catch (...) { + store_current (); } pair<shared_ptr<PlayerVideo>, DCPTime> diff --git a/src/lib/butler.h b/src/lib/butler.h index f48352448..101677558 100644 --- a/src/lib/butler.h +++ b/src/lib/butler.h @@ -21,6 +21,7 @@ #include "video_ring_buffers.h" #include "audio_ring_buffers.h" #include "audio_mapping.h" +#include "exception_store.h" #include <boost/shared_ptr.hpp> #include <boost/weak_ptr.hpp> #include <boost/thread.hpp> @@ -31,7 +32,7 @@ class Film; class Player; class PlayerVideo; -class Butler : public boost::noncopyable +class Butler : public ExceptionStore, public boost::noncopyable { public: Butler (boost::weak_ptr<const Film> film, boost::shared_ptr<Player> player, AudioMapping map, int audio_channels); |
