I initialize cef using `CefInitialize`. Sometimes I need to cancel everything and exit the app before calling `CefRunMessageLoop` or `CefDoMessageLoopWork`. if I call CefShutdown in these situations ( as cef_app.h suggests ), an error occurs ( Building against Ubuntu 11.10 ).
cef_app.h:
///
// This function should be called on the main application thread to shut down
// CEF before the application exits.
///
/*--cef()--*/
- Code: Select all
[0415/163152:FATAL:scheme_impl.cc(788)] Check failed: false. context not valid
Backtrace:
base::debug::StackTrace::StackTrace() [0x7fd8d30d6c66]
logging::LogMessage::~LogMessage() [0x7fd8d3105621]
CefRegisterCustomScheme() [0x7fd8d3f0771b]
RegisterDevToolsSchemeHandler() [0x7fd8d3e9b75d]
base::internal::RunnableAdapter<>::Run() [0x7fd8d3edef98]
base::internal::InvokeHelper<>::MakeItSo() [0x7fd8d3eded44]
base::internal::Invoker<>::Run() [0x7fd8d3ede9ef]
base::Callback<>::Run() [0x7fd8d30cf683]
MessageLoop::RunTask() [0x7fd8d3109f40]
MessageLoop::DeferOrRunPendingTask() [0x7fd8d310a057]
MessageLoop::DoWork() [0x7fd8d310a827]
base::MessagePumpGlib::RunWithDispatcher() [0x7fd8d30b4394]
base::MessagePumpGlib::Run() [0x7fd8d30b4774]
MessageLoop::RunInternal() [0x7fd8d3109c15]
MessageLoop::RunHandler() [0x7fd8d3109ac8]
MessageLoop::RunAllPending() [0x7fd8d310942a]
CefProcessUIThread::CleanUp() [0x7fd8d3ee0fde]
CefProcess::~CefProcess() [0x7fd8d3edf3a2]
CefProcess::~CefProcess() [0x7fd8d3edf44e]
scoped_ptr<>::reset() [0x7fd8d3edde04]
CefContext::Shutdown() [0x7fd8d3edc7be]
CefShutdown() [0x7fd8d3edbc7a]
cef_shutdown [0x7fd8d3063752]
CefShutdown() [0x7fd8d89051a7]
appjs::CefLoop::Stop() [0x7fd8d890508f]