Linux: cefclient: Fix crash when creating popup window (issue #2512)

This commit is contained in:
Marshall Greenblatt 2018-10-10 13:41:34 +03:00
parent 5969b2bbb8
commit c8ac6c879d
2 changed files with 2 additions and 1 deletions

View File

@ -162,7 +162,7 @@ void BrowserWindowStdGtk::Hide() {
void BrowserWindowStdGtk::SetBounds(int x, int y, size_t width, size_t height) { void BrowserWindowStdGtk::SetBounds(int x, int y, size_t width, size_t height) {
REQUIRE_MAIN_THREAD(); REQUIRE_MAIN_THREAD();
if (browser_) { if (xdisplay_ && browser_) {
::Window xwindow = browser_->GetHost()->GetWindowHandle(); ::Window xwindow = browser_->GetHost()->GetWindowHandle();
DCHECK(xwindow); DCHECK(xwindow);
SetXWindowBounds(xdisplay_, xwindow, x, y, width, height); SetXWindowBounds(xdisplay_, xwindow, x, y, width, height);

View File

@ -369,6 +369,7 @@ void RootWindowGtk::CreateRootWindow(const CefBrowserSettings& settings,
// Set the Display associated with the browser. // Set the Display associated with the browser.
::Display* xdisplay = GDK_WINDOW_XDISPLAY(gtk_widget_get_window(window_)); ::Display* xdisplay = GDK_WINDOW_XDISPLAY(gtk_widget_get_window(window_));
CHECK(xdisplay);
if (with_osr_) { if (with_osr_) {
static_cast<BrowserWindowOsrGtk*>(browser_window_.get()) static_cast<BrowserWindowOsrGtk*>(browser_window_.get())
->set_xdisplay(xdisplay); ->set_xdisplay(xdisplay);