diff --git a/src/web-cef3/web.cpp b/src/web-cef3/web.cpp index c7d55374b6e8ba00a0774492630f005bc5505902..db36c36c54b189ffdb729c5e1948e5fc70aeb937 100644 --- a/src/web-cef3/web.cpp +++ b/src/web-cef3/web.cpp @@ -120,11 +120,11 @@ class BrowserClient : public CefLoadHandler { std::map<int32, CurrentDownload*> downloads; - WebViewOpaque *opaque; CefRefPtr<CefRenderHandler> m_renderHandler; int handlers; public: + WebViewOpaque *opaque; CefRefPtr<CefBrowser> browser; bool first_load; BrowserClient(WebViewOpaque *opaque, RenderHandler *renderHandler, int handlers) : m_renderHandler(renderHandler) { @@ -870,7 +870,9 @@ void te4_web_shutdown() { } for (std::map<BrowserClient*, bool>::iterator it=all.begin(); it != all.end(); ++it) { - it->first->browser->GetHost()->CloseBrowser(true); + if (!it->first->opaque->crashed) { + it->first->browser->GetHost()->CloseBrowser(true); + } } while (!all_browsers.empty()) {