summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-02-24 22:58:38 +0000
committerCarl Hetherington <cth@carlh.net>2015-02-24 22:58:38 +0000
commit5f2a8e5892db9c0f578be0be29b9e157482cfed6 (patch)
treeed74e007f4a2bb884f9c24b605f972f0e81f9e61 /src/lib
parent179a05ebb5549803d2217e1336ae66ddbaed012b (diff)
Forward-port 86a5cdbe6ddb3506515cf8585a0902937147862e from master; crash when repeating MagickImage frames.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/magick_image_proxy.cc2
-rw-r--r--src/lib/magick_image_proxy.h4
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;
};