diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-02-24 22:58:38 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-02-24 22:58:38 +0000 |
| commit | 5f2a8e5892db9c0f578be0be29b9e157482cfed6 (patch) | |
| tree | ed74e007f4a2bb884f9c24b605f972f0e81f9e61 /src/lib | |
| parent | 179a05ebb5549803d2217e1336ae66ddbaed012b (diff) | |
Forward-port 86a5cdbe6ddb3506515cf8585a0902937147862e from master; crash when repeating MagickImage frames.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/magick_image_proxy.cc | 2 | ||||
| -rw-r--r-- | src/lib/magick_image_proxy.h | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/magick_image_proxy.cc b/src/lib/magick_image_proxy.cc index e4417f366..d4d7e8aa6 100644 --- a/src/lib/magick_image_proxy.cc +++ b/src/lib/magick_image_proxy.cc @@ -66,6 +66,8 @@ MagickImageProxy::MagickImageProxy (shared_ptr<cxml::Node>, shared_ptr<Socket> s shared_ptr<Image> MagickImageProxy::image (optional<dcp::NoteHandler>) const { + boost::mutex::scoped_lock lm (_mutex); + if (_image) { return _image; } diff --git a/src/lib/magick_image_proxy.h b/src/lib/magick_image_proxy.h index 7d2251aeb..f4ddb2c94 100644 --- a/src/lib/magick_image_proxy.h +++ b/src/lib/magick_image_proxy.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,6 +18,7 @@ */ #include "image_proxy.h" +#include <boost/thread/mutex.hpp> class MagickImageProxy : public ImageProxy { @@ -33,4 +34,5 @@ public: private: Magick::Blob _blob; mutable boost::shared_ptr<Image> _image; + mutable boost::mutex _mutex; }; |
