Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package wpebackend-fdo for openSUSE:Factory checked in at 2023-08-05 12:53:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wpebackend-fdo (Old) and /work/SRC/openSUSE:Factory/.wpebackend-fdo.new.22712 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wpebackend-fdo" Sat Aug 5 12:53:54 2023 rev:13 rq:1102254 version:1.14.2 Changes: -------- --- /work/SRC/openSUSE:Factory/wpebackend-fdo/wpebackend-fdo.changes 2022-10-12 18:24:08.713582585 +0200 +++ /work/SRC/openSUSE:Factory/.wpebackend-fdo.new.22712/wpebackend-fdo.changes 2023-08-05 12:53:56.608209327 +0200 @@ -1,0 +2,15 @@ +Wed Aug 2 13:31:43 UTC 2023 - Valentin Lefebvre <[email protected]> + +- Update to version 1.14.2 + + Reverted a change introduced in 1.14.1 which introduced crashes + both with WebKitGTK and WPE running under Wayland in some + configurations. + + Fix a crash caused by wrong assertion, which was typically + triggered in debug builds when using the NVidia drivers. +- Update to version 1.14.1: + + Fix WebKit no longer repainting after provisional navigation + wit PSON enabled. + + Fix graphics buffer leaks by always freeing them in buffer + destroy listener callbacks. + +------------------------------------------------------------------- Old: ---- wpebackend-fdo-1.14.0.tar.xz New: ---- wpebackend-fdo-1.14.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wpebackend-fdo.spec ++++++ --- /var/tmp/diff_new_pack.FOsSkV/_old 2023-08-05 12:53:57.184213011 +0200 +++ /var/tmp/diff_new_pack.FOsSkV/_new 2023-08-05 12:53:57.188213036 +0200 @@ -1,7 +1,7 @@ # # spec file for package wpebackend-fdo # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define sover 1 Name: wpebackend-fdo -Version: 1.14.0 +Version: 1.14.2 Release: 0 Summary: A WPE backend designed for Linux desktop systems License: BSD-2-Clause ++++++ wpebackend-fdo-1.14.0.tar.xz -> wpebackend-fdo-1.14.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wpebackend-fdo-1.14.0/NEWS new/wpebackend-fdo-1.14.2/NEWS --- old/wpebackend-fdo-1.14.0/NEWS 2022-09-20 08:44:42.000000000 +0200 +++ new/wpebackend-fdo-1.14.2/NEWS 2023-03-22 00:05:24.000000000 +0100 @@ -1,3 +1,21 @@ +======================= +1.14.2 - March 22, 2023 +======================= + +- Reverted a change introduced in 1.14.1 which introduced crashes both + with WebKitGTK and WPE running under Wayland in some configurations. +- Fix a crash caused by wrong assertion, which was typically triggered in + debug builds when using the NVidia drivers. + +====================== +1.14.1 - March 4, 2023 +====================== + +- Fix WebKit no longer repainting after provisional navigation with + PSON enabled. +- Fix graphics buffer leaks by always freeing them in buffer destroy + listener callbacks. + =========================== 1.14.0 - September 20, 2022 =========================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wpebackend-fdo-1.14.0/include/wpe/wpebackend-fdo-version.h new/wpebackend-fdo-1.14.2/include/wpe/wpebackend-fdo-version.h --- old/wpebackend-fdo-1.14.0/include/wpe/wpebackend-fdo-version.h 2022-09-20 08:44:42.000000000 +0200 +++ new/wpebackend-fdo-1.14.2/include/wpe/wpebackend-fdo-version.h 2023-03-22 00:05:24.000000000 +0100 @@ -28,6 +28,6 @@ #define WPE_FDO_MAJOR_VERSION 1 #define WPE_FDO_MINOR_VERSION 14 -#define WPE_FDO_MICRO_VERSION 0 +#define WPE_FDO_MICRO_VERSION 2 #endif /* !WPEBACKEND_FDO_VERSION_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wpebackend-fdo-1.14.0/meson.build new/wpebackend-fdo-1.14.2/meson.build --- old/wpebackend-fdo-1.14.0/meson.build 2022-09-20 08:44:42.000000000 +0200 +++ new/wpebackend-fdo-1.14.2/meson.build 2023-03-22 00:05:24.000000000 +0100 @@ -23,7 +23,7 @@ # - If binary compatibility has been broken (eg removed or changed interfaces) # change to [C+1, 0, 0] # - If the interface is the same as the previous version, use [C, R+1, A]. -soversion = [10, 2, 9] +soversion = [10, 4, 9] # Mangle [C, R, A] into an actual usable *soversion*. soversion_major = soversion[0] - soversion[2] # Current-Age diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wpebackend-fdo-1.14.0/src/view-backend-private.cpp new/wpebackend-fdo-1.14.2/src/view-backend-private.cpp --- old/wpebackend-fdo-1.14.0/src/view-backend-private.cpp 2022-09-20 08:44:42.000000000 +0200 +++ new/wpebackend-fdo-1.14.2/src/view-backend-private.cpp 2023-03-22 00:05:24.000000000 +0100 @@ -105,8 +105,8 @@ void ViewBackend::dispatchFrameCallbacks() { if (G_LIKELY(!m_bridgeIds.empty())) { - WS::Instance::singleton().dispatchFrameCallbacks(m_bridgeIds.back()); - wpe_view_backend_dispatch_frame_displayed(m_backend); + if (WS::Instance::singleton().dispatchFrameCallbacks(m_bridgeIds.back())) + wpe_view_backend_dispatch_frame_displayed(m_backend); } } @@ -130,6 +130,9 @@ m_bridgeIds.erase(it); WS::Instance::singleton().unregisterViewBackend(bridgeId); + // Dispatch frame callbacks in case there's any pending callback from previous bridge. + if (!m_bridgeIds.empty()) + dispatchFrameCallbacks(); } void ViewBackend::didReceiveMessage(uint32_t messageId, uint32_t messageBody) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wpebackend-fdo-1.14.0/src/ws-egl.cpp new/wpebackend-fdo-1.14.2/src/ws-egl.cpp --- old/wpebackend-fdo-1.14.0/src/ws-egl.cpp 2022-09-20 08:44:42.000000000 +0200 +++ new/wpebackend-fdo-1.14.2/src/ws-egl.cpp 2023-03-22 00:05:24.000000000 +0100 @@ -294,7 +294,7 @@ uint64_t modifiers[64]; EGLint numModifiers; if (!s_eglQueryDmaBufModifiersEXT(m_egl.display, formats[i], 64, modifiers, NULL, &numModifiers)) - assert(!"Linux-dmabuf: Failed to query modifiers of a format"); + numModifiers = 0; /* Send DRM_FORMAT_MOD_INVALID token when no modifiers are supported * for this format. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wpebackend-fdo-1.14.0/src/ws.cpp new/wpebackend-fdo-1.14.2/src/ws.cpp --- old/wpebackend-fdo-1.14.0/src/ws.cpp 2022-09-20 08:44:42.000000000 +0200 +++ new/wpebackend-fdo-1.14.2/src/ws.cpp 2023-03-22 00:05:24.000000000 +0100 @@ -659,7 +659,7 @@ } } -void Instance::dispatchFrameCallbacks(uint32_t bridgeId) +bool Instance::dispatchFrameCallbacks(uint32_t bridgeId) { auto it = m_viewBackendMap.find(bridgeId); if (it == m_viewBackendMap.end()) { @@ -667,9 +667,10 @@ "Cannot find surface with bridgeId %" PRIu32 " in view " "backend map. Probably the associated surface is gone " "due to a premature exit in the client side", bridgeId); - } else { - it->second->dispatchFrameCallbacks(); + return false; } + + return it->second->dispatchFrameCallbacks(); } } // namespace WS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wpebackend-fdo-1.14.0/src/ws.h new/wpebackend-fdo-1.14.2/src/ws.h --- old/wpebackend-fdo-1.14.0/src/ws.h 2022-09-20 08:44:42.000000000 +0200 +++ new/wpebackend-fdo-1.14.2/src/ws.h 2023-03-22 00:05:24.000000000 +0100 @@ -94,7 +94,7 @@ wl_list_insert(m_pendingFrameCallbacks.prev, wl_resource_get_link(resource)); } - void dispatchFrameCallbacks() + bool dispatchFrameCallbacks() { struct wl_resource* resource; struct wl_resource* tmp; @@ -107,8 +107,11 @@ wl_resource_destroy(resource); } - if (client) - wl_client_flush(client); + if (!client) + return false; + + wl_client_flush(client); + return true; } private: @@ -151,7 +154,7 @@ void unregisterSurface(Surface*); void registerViewBackend(uint32_t, APIClient&); void unregisterViewBackend(uint32_t); - void dispatchFrameCallbacks(uint32_t); + bool dispatchFrameCallbacks(uint32_t); using VideoPlaneDisplayDmaBufCallback = std::function<void(struct wpe_video_plane_display_dmabuf_export*, uint32_t, int, int32_t, int32_t, int32_t, int32_t, uint32_t)>; using VideoPlaneDisplayDmaBufEndOfStreamCallback = std::function<void(uint32_t)>;
