]> git.sesse.net Git - nageru/blobdiff - cef_capture.h
(Hopefully! :-) ) fix some deadlocks during CEF shutdown.
[nageru] / cef_capture.h
index 311076eb9afd0fcaf2942e9d218086c1e9673539..9e231c9d6fc654e3c9e769669bafceebf4abd816 100644 (file)
@@ -189,7 +189,9 @@ private:
        std::string description, start_url;
        std::atomic<int> max_fps{60};
 
-       std::mutex browser_mutex;
+       // Needs to be recursive because the lambda in OnPaint could cause
+       // OnPaint itself to be called.
+       std::recursive_mutex browser_mutex;
        CefRefPtr<CefBrowser> browser;  // Under <browser_mutex>.
 
        // Tasks waiting for <browser> to get ready. Under <browser_mutex>.