From b1fe837b8ea3b42ab062ed1856d7bed53d5a2473 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 11 Mar 2017 13:05:54 +0000 Subject: (svn r27775) -Fix [FS#6510]: Insufficient thread synchronisation when switching blitters. (JGR) --- src/video/video_driver.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/video/video_driver.hpp') diff --git a/src/video/video_driver.hpp b/src/video/video_driver.hpp index 916044d35..5cb3c6cc3 100644 --- a/src/video/video_driver.hpp +++ b/src/video/video_driver.hpp @@ -49,6 +49,7 @@ public: /** * Callback invoked after the blitter was changed. + * This may only be called between AcquireBlitterLock and ReleaseBlitterLock. * @return True if no error. */ virtual bool AfterBlitterChange() @@ -56,6 +57,18 @@ public: return true; } + /** + * Acquire any lock(s) required to be held when changing blitters. + * These lock(s) may not be acquired recursively. + */ + virtual void AcquireBlitterLock() { } + + /** + * Release any lock(s) required to be held when changing blitters. + * These lock(s) may not be acquired recursively. + */ + virtual void ReleaseBlitterLock() { } + virtual bool ClaimMousePointer() { return true; -- cgit v1.2.3-54-g00ecf