Add fix for mozbz#1668771
This commit is contained in:
parent
3b52fb7c93
commit
1bc542f07d
@ -110,7 +110,7 @@ ExcludeArch: s390x
|
|||||||
Summary: Mozilla Firefox Web browser
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 81.0.1
|
Version: 81.0.1
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
URL: https://www.mozilla.org/firefox/
|
URL: https://www.mozilla.org/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
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
|
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
||||||
@ -178,6 +178,7 @@ Patch407: mozilla-1667096.patch
|
|||||||
Patch408: mozilla-1663844.patch
|
Patch408: mozilla-1663844.patch
|
||||||
Patch409: mozilla-1640567.patch
|
Patch409: mozilla-1640567.patch
|
||||||
Patch410: mozilla-1661192.patch
|
Patch410: mozilla-1661192.patch
|
||||||
|
Patch411: mozilla-1668771.patch
|
||||||
|
|
||||||
# Wayland specific upstream patches
|
# Wayland specific upstream patches
|
||||||
Patch574: firefox-pipewire-0-2.patch
|
Patch574: firefox-pipewire-0-2.patch
|
||||||
@ -389,6 +390,7 @@ This package contains results of tests executed during build.
|
|||||||
%patch408 -p1 -b .1663844
|
%patch408 -p1 -b .1663844
|
||||||
%patch409 -p1 -b .1640567
|
%patch409 -p1 -b .1640567
|
||||||
%patch410 -p1 -b .1661192
|
%patch410 -p1 -b .1661192
|
||||||
|
%patch411 -p1 -b .1668771
|
||||||
|
|
||||||
# Wayland specific upstream patches
|
# Wayland specific upstream patches
|
||||||
%if 0%{?fedora} < 32
|
%if 0%{?fedora} < 32
|
||||||
@ -978,6 +980,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 2 2020 Martin Stransky <stransky@redhat.com> - 81.0.1-4
|
||||||
|
- Added fix for mozbz#1668771
|
||||||
|
|
||||||
* Thu Oct 1 2020 Martin Stransky <stransky@redhat.com> - 81.0.1-3
|
* Thu Oct 1 2020 Martin Stransky <stransky@redhat.com> - 81.0.1-3
|
||||||
- Added fix for mozbz#1661192
|
- Added fix for mozbz#1661192
|
||||||
|
|
||||||
|
41
mozilla-1668771.patch
Normal file
41
mozilla-1668771.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
changeset: 552978:b50cb0696eef
|
||||||
|
tag: tip
|
||||||
|
parent: 552976:2ce12e3e063c
|
||||||
|
user: stransky <stransky@redhat.com>
|
||||||
|
date: Fri Oct 02 12:19:53 2020 +0200
|
||||||
|
files: widget/gtk/WindowSurfaceWayland.cpp
|
||||||
|
description:
|
||||||
|
Bug 1668771 [Wayland] Use timeout for frame callbacks for basic compositor, r?jhorak
|
||||||
|
|
||||||
|
Differential Revision: https://phabricator.services.mozilla.com/D92200
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp
|
||||||
|
--- a/widget/gtk/WindowSurfaceWayland.cpp
|
||||||
|
+++ b/widget/gtk/WindowSurfaceWayland.cpp
|
||||||
|
@@ -37,6 +37,9 @@ extern mozilla::LazyLogModule gWidgetWay
|
||||||
|
// Maximal compositing timeout it miliseconds
|
||||||
|
#define COMPOSITING_TIMEOUT 200
|
||||||
|
|
||||||
|
+// Maximal timeout between frame callbacks
|
||||||
|
+#define FRAME_CALLBACK_TIMEOUT 20
|
||||||
|
+
|
||||||
|
namespace mozilla {
|
||||||
|
namespace widget {
|
||||||
|
|
||||||
|
@@ -941,8 +944,12 @@ void WindowSurfaceWayland::CommitWayland
|
||||||
|
if (waylandSurface == mLastCommittedSurface) {
|
||||||
|
LOGWAYLAND((" [%p] wait for frame callback.\n", (void*)this));
|
||||||
|
// We have an active frame callback pending from our recent surface.
|
||||||
|
- // It means we should defer the commit to FrameCallbackHandler().
|
||||||
|
- return;
|
||||||
|
+ // It means we should defer the commit to FrameCallbackHandler(),
|
||||||
|
+ // but only if we're under frame callback timeout range.
|
||||||
|
+ if (mLastCommitTime && (g_get_monotonic_time() / 1000) - mLastCommitTime <
|
||||||
|
+ FRAME_CALLBACK_TIMEOUT) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
// If our stored wl_surface does not match the actual one it means the frame
|
||||||
|
// callback is no longer active and we should release it.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user