Added fix for mozbz#1196777

This commit is contained in:
Martin Stransky 2020-03-12 10:32:51 +01:00
parent e9028b364e
commit 8325482d1a
2 changed files with 50 additions and 1 deletions

View File

@ -118,7 +118,7 @@ ExcludeArch: s390x
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 74.0
Release: 4%{?nss_tag}%{?dist}
Release: 5%{?nss_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
@ -182,6 +182,7 @@ Patch412: mozilla-1337988.patch
Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
Patch417: bug1375074-save-restore-x28.patch
Patch422: mozilla-1580174-webrtc-popup.patch
Patch423: mozilla-1620973.patch
# Wayland specific upstream patches
Patch574: firefox-pipewire.patch
@ -381,6 +382,7 @@ This package contains results of tests executed during build.
# Workaround for kiosk mode
# https://bugzilla.mozilla.org/show_bug.cgi?id=1594738
#%patch241 -p1 -b .kiosk-workaround
%patch423 -p1 -b .1620973
%patch402 -p1 -b .1196777
%ifarch %{arm}
@ -956,6 +958,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Thu Mar 12 2020 Martin Stransky <stransky@redhat.com> - 74.0-5
- Added fix for mozbz#1196777
* Tue Mar 10 2020 Kalev Lember <klember@redhat.com> - 74.0-4
- Remove unused libIDL build dep
- Disabled arm due to build failures

44
mozilla-1620973.patch Normal file
View File

@ -0,0 +1,44 @@
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -4018,6 +4018,7 @@
#endif
#ifdef MOZ_WAYLAND
pref("widget.wayland_vsync.enabled", false);
+ pref("widget.wayland.use-opaque-region", true);
#endif
// All the Geolocation preferences are here.
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -333,6 +333,7 @@
static bool gGlobalsInitialized = false;
static bool gRaiseWindows = true;
static bool gUseWaylandVsync = false;
+static bool gUseWaylandUseOpaqueRegion = true;
static GList* gVisibleWaylandPopupWindows = nullptr;
#if GTK_CHECK_VERSION(3, 4, 0)
@@ -4955,6 +4956,10 @@
}
void nsWindow::UpdateTopLevelOpaqueRegionWayland(bool aSubtractCorners) {
+ if (!gUseWaylandUseOpaqueRegion) {
+ return;
+ }
+
wl_surface* surface = moz_gtk_widget_get_wl_surface(GTK_WIDGET(mShell));
if (!surface) {
return;
@@ -6690,6 +6695,9 @@
Preferences::GetBool("mozilla.widget.raise-on-setfocus", true);
gUseWaylandVsync =
Preferences::GetBool("widget.wayland_vsync.enabled", false);
+ gUseWaylandUseOpaqueRegion =
+ Preferences::GetBool("widget.wayland.use-opaque-region", true);
+
return NS_OK;
}