Hello community,

here is the log from the commit of package webkit2gtk3 for openSUSE:Factory 
checked in at 2018-03-08 10:51:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/webkit2gtk3 (Old)
 and      /work/SRC/openSUSE:Factory/.webkit2gtk3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "webkit2gtk3"

Thu Mar  8 10:51:13 2018 rev:53 rq:582974 version:2.18.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/webkit2gtk3/webkit2gtk3.changes  2018-02-01 
21:25:49.543065686 +0100
+++ /work/SRC/openSUSE:Factory/.webkit2gtk3.new/webkit2gtk3.changes     
2018-03-08 10:51:16.254790513 +0100
@@ -1,0 +2,15 @@
+Fri Mar  2 16:38:52 UTC 2018 - [email protected]
+
+- Add webkit2gtk3-fix-wayland-crash.patch: fix crash when using
+  Wayland with QXL/virtio (bsc#1079512, webkit#182490).
+
+-------------------------------------------------------------------
+Thu Mar  1 14:32:34 UTC 2018 - [email protected]
+
+- Add missing dependencies from the -devel package to the build
+  typelib-1_0-*: just like libraries, a consumer of the devel
+  package can assume the typelibs to be present:
+  + typelib-1_0-WebKit2-%{_sonameverpkg}.
+  + typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}.
+
+-------------------------------------------------------------------

New:
----
  webkit2gtk3-fix-wayland-crash.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ webkit2gtk3.spec ++++++
--- /var/tmp/diff_new_pack.QKIlEh/_old  2018-03-08 10:51:17.006763441 +0100
+++ /var/tmp/diff_new_pack.QKIlEh/_new  2018-03-08 10:51:17.006763441 +0100
@@ -51,6 +51,8 @@
 Patch0:         webkitgtk-typelib-sharelib-link.patch
 # PATCH-FIX-UPSTREAM webkit2gtk3-no-return-in-nonvoid.patch webkit£318374 
[email protected] -- Fix "control reaches end of non-void function"
 Patch1:         webkit2gtk3-no-return-in-nonvoid.patch
+# PATCH-FIX-UPSTREAM webkit2gtk3-fix-wayland-crash.patch webkit#182490 
bsc#1079512 [email protected] -- Fix crash with wayland
+Patch2:                webkit2gtk3-fix-wayland-crash.patch
 BuildRequires:  Mesa-libEGL-devel
 BuildRequires:  Mesa-libGL-devel
 BuildRequires:  Mesa-libGLESv1_CM-devel
@@ -218,6 +220,8 @@
 Requires:       libjavascriptcoregtk%{_sover} = %{version}
 Requires:       libwebkit2gtk%{_wk2sover} = %{version}
 Requires:       typelib-1_0-JavaScriptCore-%{_sonameverpkg}
+Requires:       typelib-1_0-WebKit2-%{_sonameverpkg}
+Requires:       typelib-1_0-WebKit2WebExtension-%{_sonameverpkg}
 
 %description devel
 WebKit is a web content engine, derived from KHTML and KJS from KDE,
@@ -248,6 +252,7 @@
 %setup -q -n webkitgtk-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 # Use linker flags to reduce memory consumption

++++++ webkit2gtk3-fix-wayland-crash.patch ++++++
Index: webkitgtk-2.18.6/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
===================================================================
--- webkitgtk-2.18.6.orig/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp     
2017-09-02 11:15:50.000000000 +0200
+++ webkitgtk-2.18.6/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp  
2018-03-02 17:38:44.892586127 +0100
@@ -40,7 +40,9 @@
 #if USE(OPENGL_ES_2)
 #include <GLES2/gl2.h>
 #include <GLES2/gl2ext.h>
+#include <WebCore/Extensions3DOpenGLES.h>
 #else
+#include <WebCore/Extensions3DOpenGL.h>
 #include <WebCore/OpenGLShims.h>
 #endif
 
@@ -374,11 +376,12 @@
 
 bool WaylandCompositor::initializeEGL()
 {
+    const char* extensions = 
eglQueryString(PlatformDisplay::sharedDisplay().eglDisplay(), EGL_EXTENSIONS);
+
     if (PlatformDisplay::sharedDisplay().eglCheckVersion(1, 5)) {
         eglCreateImage = 
reinterpret_cast<PFNEGLCREATEIMAGEKHRPROC>(eglGetProcAddress("eglCreateImage"));
         eglDestroyImage = 
reinterpret_cast<PFNEGLDESTROYIMAGEKHRPROC>(eglGetProcAddress("eglDestroyImage"));
     } else {
-        const char* extensions = 
eglQueryString(PlatformDisplay::sharedDisplay().eglDisplay(), EGL_EXTENSIONS);
         if (GLContext::isExtensionSupported(extensions, "EGL_KHR_image_base")) 
{
             eglCreateImage = 
reinterpret_cast<PFNEGLCREATEIMAGEKHRPROC>(eglGetProcAddress("eglCreateImageKHR"));
             eglDestroyImage = 
reinterpret_cast<PFNEGLDESTROYIMAGEKHRPROC>(eglGetProcAddress("eglDestroyImageKHR"));
@@ -389,22 +392,13 @@
         return false;
     }
 
-    glImageTargetTexture2D = 
reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESPROC>(eglGetProcAddress("glEGLImageTargetTexture2DOES"));
-    if (!glImageTargetTexture2D) {
-        WTFLogAlways("WaylandCompositor requires glEGLImageTargetTexture2D.");
-        return false;
-    }
-
-    eglQueryWaylandBuffer = 
reinterpret_cast<PFNEGLQUERYWAYLANDBUFFERWL>(eglGetProcAddress("eglQueryWaylandBufferWL"));
-    if (!eglQueryWaylandBuffer) {
-        WTFLogAlways("WaylandCompositor requires eglQueryWaylandBuffer.");
-        return false;
-    }
-
+    if (GLContext::isExtensionSupported(extensions, 
"EGL_WL_bind_wayland_display")) {
     eglBindWaylandDisplay = 
reinterpret_cast<PFNEGLBINDWAYLANDDISPLAYWL>(eglGetProcAddress("eglBindWaylandDisplayWL"));
     eglUnbindWaylandDisplay = 
reinterpret_cast<PFNEGLUNBINDWAYLANDDISPLAYWL>(eglGetProcAddress("eglUnbindWaylandDisplayWL"));
-    if (!eglBindWaylandDisplay || !eglUnbindWaylandDisplay) {
-        WTFLogAlways("WaylandCompositor requires eglBindWaylandDisplayWL and 
eglUnbindWaylandDisplayWL.");
+        eglQueryWaylandBuffer = 
reinterpret_cast<PFNEGLQUERYWAYLANDBUFFERWL>(eglGetProcAddress("eglQueryWaylandBufferWL"));
+    }
+    if (!eglBindWaylandDisplay || !eglUnbindWaylandDisplay || 
!eglQueryWaylandBuffer) {
+        WTFLogAlways("WaylandCompositor requires eglBindWaylandDisplayWL, 
eglUnbindWaylandDisplayWL and eglQueryWaylandBuffer.");
         return false;
     }
 
@@ -415,6 +409,19 @@
     if (!m_eglContext->makeContextCurrent())
         return false;
 
+#if USE(OPENGL_ES_2)
+    std::unique_ptr<Extensions3DOpenGLES> glExtensions = 
std::make_unique<Extensions3DOpenGLES>(nullptr,  false);
+#else
+    std::unique_ptr<Extensions3DOpenGL> glExtensions = 
std::make_unique<Extensions3DOpenGL>(nullptr, GLContext::current()->version() 
>= 320);
+#endif
+    if (glExtensions->supports("GL_OES_EGL_image") || 
glExtensions->supports("GL_OES_EGL_image_external"))
+        glImageTargetTexture2D = 
reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESPROC>(eglGetProcAddress("glEGLImageTargetTexture2DOES"));
+
+    if (!glImageTargetTexture2D) {
+        WTFLogAlways("WaylandCompositor requires glEGLImageTargetTexture2D.");
+        return false;
+    }
+
     return true;
 }
 

Reply via email to