Merge master.
[dcpomatic.git] / src / lib / exceptions.h
index a8969d7024c6aa60c0bd3460d66ca9034b7d3456..90a0abfc717d46cfa697b92fef0dccba62795620 100644 (file)
@@ -253,6 +253,12 @@ public:
        {}
 };
 
+class InvalidSignerError : public StringError
+{
+public:
+       InvalidSignerError ();
+};
+
 /** @class ExceptionStore
  *  @brief A parent class for classes which have a need to catch and
  *  re-throw exceptions.
@@ -278,8 +284,9 @@ public:
        void rethrow () {
                boost::mutex::scoped_lock lm (_mutex);
                if (_exception) {
-                       boost::rethrow_exception (_exception);
+                       boost::exception_ptr tmp = _exception;
                        _exception = boost::exception_ptr ();
+                       boost::rethrow_exception (tmp);
                }
        }
 
@@ -295,6 +302,4 @@ private:
        mutable boost::mutex _mutex;
 };
 
-       
-
 #endif