I have found two issues with my project that I can't place from my debugging.
The first is that when we close the parent window CEF will not automatically call closeBrowser on the child CEF window, it instead reparents it to the root window. The second problem is that when I manually call browser->getHost->closeBrowser(false) the CEF thread will correctly call DoClose() but not OnBeforeClose(). This makes it so that CefShutdown prints this error:
- Code: Select all
Check failed: !IsCefShutdown(). Object reference incorrectly held at CefShutdown
1.Top level window is created in another process
2. Cefsimple is launched and cefsimple window is reparented to be child of window created in step 1
3. Top level window is closed. I observed that cefsimple window is still alive but has root window as parent
4. When entire application is shutdown, I call closeBrowser(false) on cefsimple window and DoClose() is called but not OnBeforeClose()
5. At shutdown I see error
My initial guess is that the problem is that I am not handling the linux delete_event directly but I do not see any reference to that code either in the Cefsimple project. Any help would be appreciated in figuring out why OnBeforeClose() is not being called.