[WPE] Do not try to create empty egl windows
authorcarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Feb 2019 14:08:00 +0000 (14:08 +0000)
committercarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Feb 2019 14:08:00 +0000 (14:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=194497

Reviewed by Žan Doberšek.

In AcceleratedSurfaceWPE we ensure the size we pass to wpe is at least 0x0, but wl_egl_window_create() returns
nullptr if 0 is passed as width or height. We should use at least 1x1 instead.

* WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp:
(WebKit::AcceleratedSurfaceWPE::initialize):
(WebKit::AcceleratedSurfaceWPE::clientResize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/ChangeLog
Source/WebKit/WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp

index 9f28c33..599cff1 100644 (file)
@@ -1,3 +1,17 @@
+2019-02-11  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [WPE] Do not try to create empty egl windows
+        https://bugs.webkit.org/show_bug.cgi?id=194497
+
+        Reviewed by Žan Doberšek.
+
+        In AcceleratedSurfaceWPE we ensure the size we pass to wpe is at least 0x0, but wl_egl_window_create() returns
+        nullptr if 0 is passed as width or height. We should use at least 1x1 instead.
+
+        * WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp:
+        (WebKit::AcceleratedSurfaceWPE::initialize):
+        (WebKit::AcceleratedSurfaceWPE::clientResize):
+
 2019-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [WPE] Do not use a sync IPC message to send the host FD to the web process
index 9b8ccbc..530d746 100644 (file)
@@ -66,7 +66,7 @@ void AcceleratedSurfaceWPE::initialize()
     };
     wpe_renderer_backend_egl_target_set_client(m_backend, &s_client, this);
     wpe_renderer_backend_egl_target_initialize(m_backend, downcast<PlatformDisplayLibWPE>(PlatformDisplay::sharedDisplay()).backend(),
-        std::max(0, m_size.width()), std::max(0, m_size.height()));
+        std::max(1, m_size.width()), std::max(1, m_size.height()));
 }
 
 void AcceleratedSurfaceWPE::finalize()
@@ -94,7 +94,7 @@ uint64_t AcceleratedSurfaceWPE::surfaceID() const
 void AcceleratedSurfaceWPE::clientResize(const IntSize& size)
 {
     ASSERT(m_backend);
-    wpe_renderer_backend_egl_target_resize(m_backend, std::max(0, m_size.width()), std::max(0, m_size.height()));
+    wpe_renderer_backend_egl_target_resize(m_backend, std::max(1, m_size.width()), std::max(1, m_size.height()));
 }
 
 void AcceleratedSurfaceWPE::willRenderFrame()