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