diff options
Diffstat (limited to 'mozilla-1620973.patch')
-rw-r--r-- | mozilla-1620973.patch | 44 |
1 files changed, 44 insertions, 0 deletions
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; + } + + |