summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firefox.spec11
-rw-r--r--mozilla-1702606.patch41
2 files changed, 48 insertions, 4 deletions
diff --git a/firefox.spec b/firefox.spec
index f1b3cd4..b595cad 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -22,9 +22,6 @@
%global build_with_asan 0
%global test_offscreen 1
%global test_on_wayland 0
-%if 0%{?fedora} > 32
-%global test_on_wayland 1
-%endif
# There are still build problems on s390x, see
# https://koji.fedoraproject.org/koji/taskinfo?taskID=55048351
@@ -163,7 +160,7 @@ ExcludeArch: armv7hl
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 87.0
-Release: 8%{?pre_tag}%{?dist}
+Release: 9%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
@@ -244,6 +241,7 @@ Patch407: mozilla-1667096.patch
Patch408: mozilla-1663844.patch
Patch415: mozilla-1670333.patch
Patch416: mozilla-1693472.patch
+Patch417: mozilla-1702606.patch
# PGO/LTO patches
Patch600: pgo.patch
@@ -494,6 +492,7 @@ This package contains results of tests executed during build.
%patch408 -p1 -b .1663844
%patch415 -p1 -b .1670333
%patch416 -p1 -b .1693472
+%patch417 -p1 -b .1702606
# PGO patches
%if %{build_with_pgo}
@@ -1063,6 +1062,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Thu Apr 1 2021 Martin Stransky <stransky@redhat.com> - 87.0-9
+- Added fix for mozbz#1702606 / rhbz#1936071
+- Switched tests back to X11 due to massive failures.
+
* Thu Apr 1 2021 Martin Stransky <stransky@redhat.com> - 87.0-8
- Run testsuite on Wayland on Fedora 33+
- Spec cleanup
diff --git a/mozilla-1702606.patch b/mozilla-1702606.patch
new file mode 100644
index 0000000..8497f7e
--- /dev/null
+++ b/mozilla-1702606.patch
@@ -0,0 +1,41 @@
+changeset: 576316:5310862f0f2a
+tag: tip
+parent: 576314:6159d3fc46c6
+user: stransky <stransky@redhat.com>
+date: Thu Apr 01 20:02:47 2021 +0200
+files: widget/gtk/WindowSurfaceWayland.cpp widget/gtk/nsWaylandDisplay.cpp
+description:
+Bug 1702606 [Wayland] Don't call mWaylandDisplay::WaitForSyncEnd() from Compositor/Render thread, r?rmader
+
+Differential Revision: https://phabricator.services.mozilla.com/D110590
+
+
+diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp
+--- a/widget/gtk/WindowSurfaceWayland.cpp
++++ b/widget/gtk/WindowSurfaceWayland.cpp
+@@ -737,10 +737,6 @@ already_AddRefed<gfx::DrawTarget> Window
+ return nullptr;
+ }
+
+- // Wait until all pending events are processed. There may be queued
+- // wl_buffer release event which releases our wl_buffer for further rendering.
+- mWaylandDisplay->WaitForSyncEnd();
+-
+ // Lock the surface *after* WaitForSyncEnd() call as is can fire
+ // FlushPendingCommits().
+ MutexAutoLock lock(mSurfaceLock);
+diff --git a/widget/gtk/nsWaylandDisplay.cpp b/widget/gtk/nsWaylandDisplay.cpp
+--- a/widget/gtk/nsWaylandDisplay.cpp
++++ b/widget/gtk/nsWaylandDisplay.cpp
+@@ -239,6 +239,10 @@ void nsWaylandDisplay::QueueSyncBegin()
+ }
+
+ void nsWaylandDisplay::WaitForSyncEnd() {
++ MOZ_RELEASE_ASSERT(
++ NS_IsMainThread(),
++ "nsWaylandDisplay::WaitForSyncEnd() can be called in main thread only!");
++
+ // We're done here
+ if (!mSyncCallback) {
+ return;
+
bgstack15