I use cef ver 3.3071.1634.g9cc59c8 and window 7
And I use OSR Mode.
I tried process "CEF MessageLoop" in other thread like following codes.
However, When I called "CefShutDown()" it happend trigger (breakpoint in following image.)
This case happen When I called "CefMessageLoopWork" even once.
(Actually, This case happen When I called drawing web page even once.)
If I didn't call "CefMessageLoopWork" not happend trigger.
I don't know what do I ? what's wrong ?
main thread called close
- Code: Select all
m_pBrowser->GetHost()->CloseBrowser(true);
create web browser thread
- Code: Select all
GWebThreadHandle = BEGINTHREADEX(NULL, WEBTHREAD_STACKSIZE, WebBrowserThread, pInArgList, 0, NULL);
process CefMessageLoopWork
- Code: Select all
DWORD WINAPI WebBrwoserThread(LPVOID param)
{
CefMainArgs main_args(hInstance);
CefSettings settings;
settings.no_sandbox = true;
settings.windowless_rendering_enabled = true;
settings.single_process = true;
settings.external_mesage_pump = true;
settings.multi_threaded_message_loop = false;
bool result = CefInitialize(main_args, settings, GWebBrowserApp.get(), NULL);
while(!GWebExti)
{
if(NULL != GWebThreadEvent)
{
::WaitForSingleObject(GWebThreadEvent, INFINITE);
}
if(GwebExit)
{
break;
}
CefDoMessageLoopWork();
}
CefShutdown();
return 0;
}