From a4c5d37803ff571b27649b4447479376a8167167 Mon Sep 17 00:00:00 2001 From: DarkGod <darkgod@te4.org> Date: Wed, 16 Apr 2014 12:43:54 +0200 Subject: [PATCH] test --- src/web-cef3/web.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/web-cef3/web.cpp b/src/web-cef3/web.cpp index b218fa023f..93e4efe2e7 100644 --- a/src/web-cef3/web.cpp +++ b/src/web-cef3/web.cpp @@ -88,9 +88,9 @@ class BrowserClient; class WebViewOpaque { public: - RenderHandler *render; - CefBrowser *browser; - BrowserClient *view; + CefRefPtr<RenderHandler> render; + CefRefPtr<CefBrowser> browser; + CefRefPtr<BrowserClient> view; }; static std::map<BrowserClient*, bool> all_browsers; @@ -271,10 +271,6 @@ public: } virtual void OnBeforeClose(CefRefPtr<CefBrowser> browser) { - this->opaque->render->Release(); - this->opaque->view->Release(); - this->opaque->browser->Release(); - this->opaque->render = NULL; this->opaque->view = NULL; this->opaque->browser = NULL; @@ -315,11 +311,7 @@ void te4_web_new(web_view_type *view, int w, int h) { opaque->render = new RenderHandler(w, h); opaque->view = new BrowserClient(opaque, opaque->render, view->handlers); CefString curl(""); - opaque->browser = CefBrowserHost::CreateBrowserSync(window_info, opaque->view, curl, browserSettings); - - opaque->render->AddRef(); - opaque->view->AddRef(); - opaque->browser->AddRef(); + opaque->browser = CefBrowserHost::CreateBrowserSync(window_info, opaque->view.get(), curl, browserSettings); view->w = w; view->h = h; -- GitLab