From 8325482d1ad0a95c24623dee921a68dff4a0811d Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Thu, 12 Mar 2020 10:32:51 +0100 Subject: Added fix for mozbz#1196777 --- firefox.spec | 7 ++++++- mozilla-1620973.patch | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 mozilla-1620973.patch diff --git a/firefox.spec b/firefox.spec index 171059f..71c019d 100644 --- a/firefox.spec +++ b/firefox.spec @@ -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 - 74.0-5 +- Added fix for mozbz#1196777 + * Tue Mar 10 2020 Kalev Lember - 74.0-4 - Remove unused libIDL build dep - Disabled arm due to build failures diff --git a/mozilla-1620973.patch b/mozilla-1620973.patch new file mode 100644 index 0000000..a836150 --- /dev/null +++ b/mozilla-1620973.patch @@ -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; + } + + -- cgit