зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1847336 [Linux] Skip frame rendering if we don't have EGL window to paint into r=sotaro
If SetEGLNativeWindowSize() returns false window size put to SetEGLNativeWindowSize() doesn't match screen scale and will lead to Wayland protocol error. Skip this frame rendering and wait for new window size provided by layout. Depends on D187890 Differential Revision: https://phabricator.services.mozilla.com/D187891
This commit is contained in:
Родитель
7aa5ec67ec
Коммит
231d42ad01
|
@ -747,7 +747,10 @@ Maybe<IntRect> CompositorOGL::BeginFrame(const nsIntRegion& aInvalidRegion,
|
|||
mWidgetSize = LayoutDeviceIntSize::FromUnknownSize(rect.Size());
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
if (mWidget && mWidget->AsGTK()) {
|
||||
mWidget->AsGTK()->SetEGLNativeWindowSize(mWidgetSize);
|
||||
if (!mWidget->AsGTK()->SetEGLNativeWindowSize(mWidgetSize)) {
|
||||
// We don't have correct window size to paint into.
|
||||
return Nothing();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
|
|
|
@ -90,7 +90,11 @@ bool RenderCompositorEGL::BeginFrame() {
|
|||
}
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
if (mWidget->AsGTK()) {
|
||||
mWidget->AsGTK()->SetEGLNativeWindowSize(GetBufferSize());
|
||||
if (!mWidget->AsGTK()->SetEGLNativeWindowSize(GetBufferSize())) {
|
||||
gfxCriticalNote
|
||||
<< "We don't have GTK/EGLWindow with correct size, can't draw.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (!MakeCurrent()) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче