Accepting request 1216799 from GNOME:Factory

OBS-URL: https://build.opensuse.org/request/show/1216799
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/webkit2gtk3?expand=0&rev=204
This commit is contained in:
Ana Guerrero 2024-10-22 12:50:50 +00:00 committed by Git OBS Bridge
commit 29921ebfdb
7 changed files with 39 additions and 106 deletions

View File

@ -1,84 +0,0 @@
From 8fd152326050b81559903682e0767d289adef9cb Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Wed, 16 Oct 2024 13:45:39 -0500
Subject: [PATCH] REGRESSION(283414@main): [WPE][GTK] Crash in ProcessLauncher
socket monitor callback https://bugs.webkit.org/show_bug.cgi?id=281495
Reviewed by NOBODY (OOPS!).
The socket monitor callback that I added in 283414@main accidentally
deletes itself by calling m_socketMonitor.stop(). This causes the lambda
capture to itself be deleted. We can change the socket monitor to wait
until the callback has finished before deleting it.
* Source/WTF/wtf/glib/GSocketMonitor.cpp:
(WTF::GSocketMonitor::~GSocketMonitor):
(WTF::GSocketMonitor::socketSourceCallback):
(WTF::GSocketMonitor::stop):
---
Source/WTF/wtf/glib/GSocketMonitor.cpp | 21 +++++++++++++++++++--
Source/WTF/wtf/glib/GSocketMonitor.h | 2 ++
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/Source/WTF/wtf/glib/GSocketMonitor.cpp b/Source/WTF/wtf/glib/GSocketMonitor.cpp
index c88ea9f91ca4..f3e31efb5053 100644
--- a/Source/WTF/wtf/glib/GSocketMonitor.cpp
+++ b/Source/WTF/wtf/glib/GSocketMonitor.cpp
@@ -33,6 +33,7 @@ namespace WTF {
GSocketMonitor::~GSocketMonitor()
{
+ RELEASE_ASSERT(!m_isExecutingCallback);
stop();
}
@@ -40,7 +41,17 @@ gboolean GSocketMonitor::socketSourceCallback(GSocket*, GIOCondition condition,
{
if (g_cancellable_is_cancelled(monitor->m_cancellable.get()))
return G_SOURCE_REMOVE;
- return monitor->m_callback(condition);
+
+ monitor->m_isExecutingCallback = true;
+ gboolean result = monitor->m_callback(condition);
+ monitor->m_isExecutingCallback = false;
+
+ if (monitor->m_shouldDestroyCallback) {
+ monitor->m_callback = nullptr;
+ monitor->m_shouldDestroyCallback = false;
+ }
+
+ return result;
}
void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, Function<gboolean(GIOCondition)>&& callback)
@@ -65,7 +76,13 @@ void GSocketMonitor::stop()
m_cancellable = nullptr;
g_source_destroy(m_source.get());
m_source = nullptr;
- m_callback = nullptr;
+
+ // It's normal to stop the socket monitor from inside its callback.
+ // Don't destroy the callback while it's still executing.
+ if (m_isExecutingCallback)
+ m_shouldDestroyCallback = true;
+ else
+ m_callback = nullptr;
}
} // namespace WTF
diff --git a/Source/WTF/wtf/glib/GSocketMonitor.h b/Source/WTF/wtf/glib/GSocketMonitor.h
index 7ec383a6e37c..9393c546b593 100644
--- a/Source/WTF/wtf/glib/GSocketMonitor.h
+++ b/Source/WTF/wtf/glib/GSocketMonitor.h
@@ -51,6 +51,8 @@ private:
GRefPtr<GSource> m_source;
GRefPtr<GCancellable> m_cancellable;
Function<gboolean(GIOCondition)> m_callback;
+ bool m_isExecutingCallback { false };
+ bool m_shouldDestroyCallback { false };
};
} // namespace WTF
--
2.46.1

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Oct 21 15:09:18 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Update to version 2.46.2:
+ Own well-known bus name on a11y bus.
+ Improve memory consumption when putImageData is used repeatedly
on accelerated canvas.
+ Disable cached web process suspension for now to prevent leaks.
+ Improve text kerning with different combinations of antialias
and hinting settings.
+ Destroy all network sessions on process exit.
+ Fix visible rectangle calculation when there are animations.
+ Fix the build with ENABLE_NOTIFICATIONS=OFF.
+ Fix the build with ENABLE_FULLSCREEN_API=OFF.
+ Fix the build with ENABLE_WEB_AUDIO=OFF.
+ Fix the build on ppc64le.
+ Fix several crashes and rendering issues.
- Drop bug281495.patch: fixed upstream.
-------------------------------------------------------------------
Wed Oct 16 21:49:23 UTC 2024 - Michael Gorse <mgorse@suse.com>

View File

@ -79,7 +79,7 @@ ExclusiveArch: do-not-build
%endif
Name: webkit2%{_gtknamesuffix}
Version: 2.46.1
Version: 2.46.2
Release: 0
Summary: Library for rendering web content, GTK+ Port
License: BSD-3-Clause AND LGPL-2.0-or-later
@ -94,8 +94,6 @@ Source99: webkit2gtk3.keyring
Patch0: reproducibility.patch
# PATCH-FIX-UPSTREAM bug281492.patch mgorse@suse.com -- fix crash in AccessibilityObjectAtspi::textAttributes.
Patch1: bug281492.patch
# PATCH-FIX-UPSTREAM bug281495.patch mgorse@suse.com -- Fix crash in ProcessLauncher socket monitor callback.
Patch2: bug281495.patch
BuildRequires: Mesa-libEGL-devel
BuildRequires: Mesa-libGL-devel

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a14faac359aff941d0bc4443eb5537e3702bcaf316b0a129e0e65f3ff8eaac0
size 42776840

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEAToBJ6ycZbNP+mJSbBAJtpOXU5MFAmb6Z+AACgkQbBAJtpOX
U5NlAw/8CHhuDyRYXXA40eq/bBGdeqKprVXAMPReGMulG7ZPd4qu1eokED7XZCdO
HUe/3Mdzppo/B9gqpPuCnb57/e0b6ma1E66bsHCE33+uUxy1n22kT43gsdEO7etZ
toVMK/QUMhMEgwfJkXGIW8odIcvoqYKP9C0sMdpdhGbNr+OBRMJmk6eWAAhNP/mj
csx3xUpBzCJ5vlDCfinYlOhPm2Bl40QgED6yocaMa6rlt/gOj5ctwr97v9BaU3qG
OZKP6o9nOAh5aUbHdyFADg7CMP7opqBMpH+yBg7pqQQ73NnKNw9jPp6shWanOmKk
FFSU8QgZu5lSvp/I3cBaSY0+QuQmUBeq1wFSlrKw8YmVZgFspj7i1WVfu4aDFdMQ
1VeEG4atsKatS+oeW0h6NGhWjlIYlaKqB6Vylb/fv3/RvaRocSkWEsMikipf6dWX
0KuBvf9Jr/6wSA62XuGqIPUxLjbRirGdADVQGqb4Yvk7spok8JnQGdxqixgfbuWc
xURun7A3B6S5y4/UHARSmLyXqmO55o6bT1iuIlbzK06rd9AWfA8CgLNUySVsdWzO
HHGvLweSeMDS5dlVr4vE0eczUICBtl6TB6A9ydsxTj1TvmgrmDlBVls5XWFK0vcs
ErTeBoMPCjYcjD8lqo5O7nr0uDMNHLYlEvaq5t5EYVZergylVPo=
=WrNA
-----END PGP SIGNATURE-----

3
webkitgtk-2.46.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5aae1c5c0a30d5e9c5831652b6f1bdefc31d75e0ad81cb40185b0aed92ce79b6
size 42803728

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEAToBJ6ycZbNP+mJSbBAJtpOXU5MFAmcWILAACgkQbBAJtpOX
U5PrLhAAj7+VKmBfCV9pHsnla1zxC5O6pkgKhT1N0p/MMY7aKCLRpmGMrc2XEhny
i/M5+O9ZIQkzImJ0vgLF3nSFsESPj2t3wljnapEwQtZKw/9KxM3O+A3RA19tKRfj
t+16ot/QijHT2k9EcGkdfFeq5SWfTAtwH13Q9LxRH0hmohC7d3s8OVpiVUptVXii
R15GsuOj7EmR+QGzVRfbdpBEXGqglEJHJ5qzMFIoCqFbIAilXr6C0NbzED2pbNd2
CO8e4Q4FpxPbN2Y9W4P77uoyonc3tJbAUVPKJOcIicAH4ex/e0J8OwLpvRLY7xRp
UJczw/PfZ0KWO6rf55h4q0Q7wLCt+wsxdtkP+hinxELKc4eyo/xxsvFMDXA0VBzE
c353GC3pg8C0LRXXHXuVxGlRDyjq0RXT3IWMrDyv9SCS9GO0t2FfChc9MCtKrvQE
mfS2tzFjfhVamSphl8oj6Nge3W6qHnq9nC3+HbjQBMgHhusIiYEdKPmbNz/beweX
xmJReJdX+xmCC3FsWMx2aAjy8NbWZ638ee2Xv0h0Uq9Z7w96WRIqUNb4fvtGk+xe
OInQTFp8/d9N54C09AdEQuK3LMnObpuS/VFdIJgMA6ombdmgWYHomLW9AGjpHUpw
8vI5KTGf5uaMVmPmu+LTeoF3NGP7hPldMLS50A9zj+C2DijjT1s=
=jVoY
-----END PGP SIGNATURE-----