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)>;

Reply via email to