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 | ||||
| Name:           firefox | ||||
| Version:        81.0.1 | ||||
| Release:        3%{?dist} | ||||
| Release:        4%{?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 | ||||
| @ -178,6 +178,7 @@ Patch407:        mozilla-1667096.patch | ||||
| Patch408:        mozilla-1663844.patch | ||||
| Patch409:        mozilla-1640567.patch | ||||
| Patch410:        mozilla-1661192.patch | ||||
| Patch411:        mozilla-1668771.patch | ||||
| 
 | ||||
| # Wayland specific upstream patches | ||||
| Patch574:        firefox-pipewire-0-2.patch | ||||
| @ -389,6 +390,7 @@ This package contains results of tests executed during build. | ||||
| %patch408 -p1 -b .1663844 | ||||
| %patch409 -p1 -b .1640567 | ||||
| %patch410 -p1 -b .1661192 | ||||
| %patch411 -p1 -b .1668771 | ||||
| 
 | ||||
| # Wayland specific upstream patches | ||||
| %if 0%{?fedora} < 32 | ||||
| @ -978,6 +980,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : | ||||
| #--------------------------------------------------------------------- | ||||
| 
 | ||||
| %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 | ||||
| - 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