Updated to 75.0

This commit is contained in:
Martin Stransky 2020-04-06 23:07:31 +02:00
parent 2f14c4ee29
commit 96352c5572
9 changed files with 81 additions and 252 deletions

View File

@ -1,11 +1,12 @@
diff -up firefox-63.0.1/intl/locale/LocaleService.cpp.old firefox-63.0.1/intl/locale/LocaleService.cpp
--- firefox-63.0.1/intl/locale/LocaleService.cpp.old 2018-11-14 13:34:16.338285161 +0100
+++ firefox-63.0.1/intl/locale/LocaleService.cpp 2018-11-14 13:34:21.438270308 +0100
@@ -708,7 +708,6 @@ LocaleService::GetDefaultLocale(nsACStri
diff -up firefox-75.0/intl/locale/LocaleService.cpp.locale-debug firefox-75.0/intl/locale/LocaleService.cpp
--- firefox-75.0/intl/locale/LocaleService.cpp.locale-debug 2020-04-06 22:42:20.196799809 +0200
+++ firefox-75.0/intl/locale/LocaleService.cpp 2020-04-06 22:43:02.522530317 +0200
@@ -372,8 +372,6 @@ LocaleService::GetDefaultLocale(nsACStri
// just use our hard-coded default below.
GetGREFileContents("update.locale", &locale);
locale.Trim(" \t\n\r");
// This should never be empty.
- // This should never be empty.
- MOZ_ASSERT(!locale.IsEmpty());
if (SanitizeForBCP47(locale, true)) {
if (CanonicalizeLanguageId(locale)) {
mDefaultLocale.Assign(locale);
}

View File

@ -117,13 +117,13 @@ ExcludeArch: s390x
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 74.0.1
Release: 3%{?nss_tag}%{?dist}
Version: 75.0
Release: 1%{?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
%if %{with langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20200404.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20200406.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source10: firefox-mozconfig
@ -183,15 +183,11 @@ 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
Patch424: mozilla-1615098.patch
Patch425: mozilla-1623106.patch
# Wayland specific upstream patches
Patch574: firefox-pipewire.patch
Patch575: mozilla-1609538.patch
Patch576: mozilla-1623060.patch
Patch577: mozilla-1624745.patch
Patch578: mozilla-1627469.patch
# PGO/LTO patches
@ -390,8 +386,6 @@ This package contains results of tests executed during build.
#%patch241 -p1 -b .kiosk-workaround
%patch242 -p1 -b .gnome-shell-search-fixes
%patch423 -p1 -b .1620973
%patch424 -p1 -b .1615098
%patch425 -p1 -b .1623106
%patch402 -p1 -b .1196777
@ -401,9 +395,7 @@ This package contains results of tests executed during build.
# Wayland specific upstream patches
%patch574 -p1 -b .firefox-pipewire
%patch575 -p1 -b .mozilla-1609538
%patch576 -p1 -b .mozilla-1623060
%patch577 -p1 -b .mozilla-1624745
%patch578 -p1 -b .mozilla-1627469
# PGO patches
@ -971,6 +963,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Mon Apr 06 2020 Martin Stransky <stransky@redhat.com> - 75.0-1
- Updated to 75.0
* Mon Apr 06 2020 Martin Stransky <stransky@redhat.com> - 74.0.1-3
- Added fix for mozbz#1627469

View File

@ -1,7 +1,7 @@
diff -up firefox-71.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-71.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-71.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-11-26 01:02:21.000000000 +0100
+++ firefox-71.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-11-26 10:47:04.316154398 +0100
@@ -246,8 +246,20 @@ nsresult nsReadConfig::openAndEvaluateJS
diff -up firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2020-04-03 21:34:41.000000000 +0200
+++ firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2020-04-06 22:40:02.760674871 +0200
@@ -244,8 +244,20 @@ nsresult nsReadConfig::openAndEvaluateJS
if (NS_FAILED(rv)) return rv;
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
@ -23,10 +23,10 @@ diff -up firefox-71.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 fi
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-71.0/modules/libpref/Preferences.cpp.1170092 firefox-71.0/modules/libpref/Preferences.cpp
--- firefox-71.0/modules/libpref/Preferences.cpp.1170092 2019-11-26 01:02:25.000000000 +0100
+++ firefox-71.0/modules/libpref/Preferences.cpp 2019-11-26 10:47:04.316154398 +0100
@@ -4472,6 +4472,9 @@ nsresult Preferences::InitInitialObjects
diff -up firefox-75.0/modules/libpref/Preferences.cpp.1170092 firefox-75.0/modules/libpref/Preferences.cpp
--- firefox-75.0/modules/libpref/Preferences.cpp.1170092 2020-04-06 22:40:02.761674865 +0200
+++ firefox-75.0/modules/libpref/Preferences.cpp 2020-04-06 22:40:57.675325227 +0200
@@ -4468,6 +4468,9 @@ nsresult Preferences::InitInitialObjects
//
// Thus, in the omni.jar case, we always load app-specific default
// preferences from omni.jar, whether or not `$app == $gre`.
@ -35,11 +35,11 @@ diff -up firefox-71.0/modules/libpref/Preferences.cpp.1170092 firefox-71.0/modul
+ // - /etc/firefox/pref/*.js
nsresult rv = NS_ERROR_FAILURE;
nsZipFind* findPtr;
diff -up firefox-71.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-71.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-71.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-11-26 01:02:29.000000000 +0100
+++ firefox-71.0/toolkit/xre/nsXREDirProvider.cpp 2019-11-26 10:49:40.076095714 +0100
@@ -61,6 +61,7 @@
UniquePtr<nsZipFind> find;
diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/toolkit/xre/nsXREDirProvider.cpp 2020-04-06 22:40:02.761674865 +0200
@@ -60,6 +60,7 @@
#endif
#ifdef XP_UNIX
# include <ctype.h>
@ -47,7 +47,7 @@ diff -up firefox-71.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-71.0/tool
#endif
#ifdef XP_IOS
# include "UIKitDirProvider.h"
@@ -526,6 +527,21 @@ nsXREDirProvider::GetFile(const char* aP
@@ -533,6 +534,21 @@ nsXREDirProvider::GetFile(const char* aP
}
}
}
@ -69,7 +69,7 @@ diff -up firefox-71.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-71.0/tool
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
if (ensureFilePermissions) {
@@ -842,6 +858,16 @@ nsresult nsXREDirProvider::GetFilesInter
@@ -845,6 +861,16 @@ nsresult nsXREDirProvider::GetFilesInter
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
@ -86,9 +86,9 @@ diff -up firefox-71.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-71.0/tool
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
diff -up firefox-71.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-71.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-71.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-11-26 01:02:30.000000000 +0100
+++ firefox-71.0/xpcom/io/nsAppDirectoryServiceDefs.h 2019-11-26 10:47:04.317154398 +0100
diff -up firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h 2020-04-06 22:40:02.761674865 +0200
@@ -60,6 +60,7 @@
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR \

View File

@ -1,69 +0,0 @@
diff -up firefox-74.0/widget/gtk/mozcontainer.cpp.mozilla-1609538 firefox-74.0/widget/gtk/mozcontainer.cpp
--- firefox-74.0/widget/gtk/mozcontainer.cpp.mozilla-1609538 2020-03-02 23:04:56.000000000 +0100
+++ firefox-74.0/widget/gtk/mozcontainer.cpp 2020-03-04 12:26:05.561668537 +0100
@@ -164,13 +164,15 @@ void moz_container_move(MozContainer* co
// wl_subsurface_set_position is actually property of parent surface
// which is effective when parent surface is commited.
- wl_surface* parent_surface =
- moz_gtk_widget_get_wl_surface(GTK_WIDGET(container));
- if (parent_surface) {
- wl_subsurface_set_position(container->subsurface, container->subsurface_dx,
- container->subsurface_dy);
- wl_surface_commit(parent_surface);
- container->surface_position_needs_update = false;
+ wl_subsurface_set_position(container->subsurface, container->subsurface_dx,
+ container->subsurface_dy);
+ container->surface_position_needs_update = false;
+
+ GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(container));
+ if (window) {
+ GdkRectangle rect = (GdkRectangle){.width = gdk_window_get_width(window),
+ .height = gdk_window_get_height(window)};
+ gdk_window_invalidate_rect(window, &rect, false);
}
}
@@ -575,11 +577,15 @@ static void moz_container_set_opaque_reg
gtk_widget_get_allocation(GTK_WIDGET(container), &allocation);
// Set region to mozcontainer which does not have any offset
- wl_region* region =
- CreateOpaqueRegionWayland(0, 0, allocation.width, allocation.height,
- container->opaque_region_subtract_corners);
- wl_surface_set_opaque_region(container->surface, region);
- wl_region_destroy(region);
+ if (container->opaque_region_subtract_corners) {
+ wl_region* region =
+ CreateOpaqueRegionWayland(0, 0, allocation.width, allocation.height,
+ container->opaque_region_subtract_corners);
+ wl_surface_set_opaque_region(container->surface, region);
+ wl_region_destroy(region);
+ } else {
+ wl_surface_set_opaque_region(container->surface, nullptr);
+ }
}
struct wl_surface* moz_container_get_wl_surface(MozContainer* container) {
diff -up firefox-74.0/widget/gtk/nsWindow.cpp.mozilla-1609538 firefox-74.0/widget/gtk/nsWindow.cpp
--- firefox-74.0/widget/gtk/nsWindow.cpp.mozilla-1609538 2020-03-04 12:23:34.365414768 +0100
+++ firefox-74.0/widget/gtk/nsWindow.cpp 2020-03-04 12:23:34.368414793 +0100
@@ -4866,10 +4866,14 @@ void nsWindow::UpdateTopLevelOpaqueRegio
return;
}
- wl_region* region =
- CreateOpaqueRegionWayland(x, y, width, height, aSubtractCorners);
- wl_surface_set_opaque_region(surface, region);
- wl_region_destroy(region);
+ if (!aSubtractCorners) {
+ wl_region* region =
+ CreateOpaqueRegionWayland(x, y, width, height, aSubtractCorners);
+ wl_surface_set_opaque_region(surface, region);
+ wl_region_destroy(region);
+ } else {
+ wl_surface_set_opaque_region(surface, nullptr);
+ }
GdkWindow* window = gtk_widget_get_window(mShell);
if (window) {

View File

@ -1,12 +0,0 @@
diff -up firefox-74.0/widget/gtk/nsWindow.cpp.1615098 firefox-74.0/widget/gtk/nsWindow.cpp
--- firefox-74.0/widget/gtk/nsWindow.cpp.1615098 2020-03-13 09:34:03.623433935 +0100
+++ firefox-74.0/widget/gtk/nsWindow.cpp 2020-03-13 09:38:44.382941288 +0100
@@ -4879,8 +4879,6 @@ void nsWindow::UpdateTopLevelOpaqueRegio
if (window) {
gdk_window_invalidate_rect(window, &rect, false);
}
-
- moz_container_update_opaque_region(mContainer, aSubtractCorners);
}
#endif

View File

@ -1,44 +0,0 @@
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;
}

View File

@ -1,57 +1,50 @@
diff -up firefox-74.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1623060 firefox-74.0/widget/gtk/nsWaylandDisplay.cpp
--- firefox-74.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1623060 2020-03-17 14:19:04.394231493 +0100
+++ firefox-74.0/widget/gtk/nsWaylandDisplay.cpp 2020-03-17 14:23:47.445480363 +0100
@@ -26,15 +26,12 @@ namespace widget {
#define DMABUF_BASIC_PREF "widget.wayland_dmabuf_basic_compositor.enabled"
// Enable dmabuf for WebGL backend
#define DMABUF_WEBGL_PREF "widget.wayland_dmabuf_webgl.enabled"
-// See WindowSurfaceWayland::RenderingCacheMode for details.
-#define CACHE_MODE_PREF "widget.wayland_cache_mode"
diff -up firefox-75.0/modules/libpref/init/StaticPrefList.yaml.mozilla-1623060 firefox-75.0/modules/libpref/init/StaticPrefList.yaml
--- firefox-75.0/modules/libpref/init/StaticPrefList.yaml.mozilla-1623060 2020-04-03 21:34:57.000000000 +0200
+++ firefox-75.0/modules/libpref/init/StaticPrefList.yaml 2020-04-06 23:03:37.631884410 +0200
@@ -8600,15 +8600,6 @@
type: RelaxedAtomicBool
value: false
mirror: always
-
-# Wayland basic (non-accelerated) compositor cache mode.
-# 0 = Default (everything is cached).
-# 1 = Cache only missing drawing.
-# 2 = No cache
-- name: widget.wayland-cache-mode
- type: RelaxedAtomicInt32
- value: 0
- mirror: always
#endif
bool nsWaylandDisplay::sIsDMABufEnabled = false;
int nsWaylandDisplay::sIsDMABufPrefTextState = false;
int nsWaylandDisplay::sIsDMABufPrefBasicCompositorState = false;
int nsWaylandDisplay::sIsDMABufPrefWebGLState = false;
bool nsWaylandDisplay::sIsDMABufConfigured = false;
-int nsWaylandDisplay::sRenderingCacheModePref = -1;
bool nsWaylandDisplay::sIsPrefLoaded = false;
wl_display* WaylandDisplayGetWLDisplay(GdkDisplay* aGdkDisplay) {
@@ -423,7 +420,6 @@ nsWaylandDisplay::nsWaylandDisplay(wl_di
sIsDMABufPrefBasicCompositorState =
Preferences::GetBool(DMABUF_BASIC_PREF, false);
sIsDMABufPrefWebGLState = Preferences::GetBool(DMABUF_WEBGL_PREF, false);
- sRenderingCacheModePref = Preferences::GetInt(CACHE_MODE_PREF, 0);
sIsPrefLoaded = true;
#---------------------------------------------------------------------------
diff -up firefox-75.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1623060 firefox-75.0/widget/gtk/nsWaylandDisplay.cpp
--- firefox-75.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1623060 2020-04-03 21:35:43.000000000 +0200
+++ firefox-75.0/widget/gtk/nsWaylandDisplay.cpp 2020-04-06 23:03:37.632884403 +0200
@@ -523,9 +523,6 @@ bool nsWaylandDisplay::IsDMABufVAAPIEnab
return IsDMABufEnabled() &&
StaticPrefs::widget_wayland_dmabuf_vaapi_enabled();
}
-int nsWaylandDisplay::GetRenderingCacheModePref() {
- return StaticPrefs::widget_wayland_cache_mode();
-}
diff -up firefox-74.0/widget/gtk/nsWaylandDisplay.h.mozilla-1623060 firefox-74.0/widget/gtk/nsWaylandDisplay.h
--- firefox-74.0/widget/gtk/nsWaylandDisplay.h.mozilla-1623060 2020-03-17 14:19:04.394231493 +0100
+++ firefox-74.0/widget/gtk/nsWaylandDisplay.h 2020-03-17 14:22:49.867838072 +0100
@@ -91,9 +91,6 @@ class nsWaylandDisplay {
void* nsGbmLib::sGbmLibHandle = nullptr;
void* nsGbmLib::sXf86DrmLibHandle = nullptr;
diff -up firefox-75.0/widget/gtk/nsWaylandDisplay.h.mozilla-1623060 firefox-75.0/widget/gtk/nsWaylandDisplay.h
--- firefox-75.0/widget/gtk/nsWaylandDisplay.h.mozilla-1623060 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/widget/gtk/nsWaylandDisplay.h 2020-04-06 23:03:37.632884403 +0200
@@ -93,7 +93,6 @@ class nsWaylandDisplay {
static bool IsDMABufTexturesEnabled();
static bool IsDMABufWebGLEnabled();
static bool IsDMABufVAAPIEnabled();
- static int GetRenderingCacheModePref();
- // See WindowSurfaceWayland::CacheMode for details.
- int GetRenderingCacheModePref() { return sRenderingCacheModePref; };
-
private:
bool ConfigureGbm();
@@ -121,8 +118,7 @@ class nsWaylandDisplay {
static int sIsDMABufPrefTextState;
static int sIsDMABufPrefBasicCompositorState;
static int sIsDMABufPrefWebGLState;
- static bool sIsDMABufConfigured;
- static int sRenderingCacheModePref;
+ static bool sIsDMABufConfigured;
static bool sIsPrefLoaded;
};
diff -up firefox-74.0/widget/gtk/nsWindow.cpp.mozilla-1623060 firefox-74.0/widget/gtk/nsWindow.cpp
--- firefox-74.0/widget/gtk/nsWindow.cpp.mozilla-1623060 2020-03-17 14:19:04.393231499 +0100
+++ firefox-74.0/widget/gtk/nsWindow.cpp 2020-03-17 14:19:04.395231487 +0100
@@ -7839,3 +7839,15 @@ void nsWindow::SetEGLNativeWindowSize(
diff -up firefox-75.0/widget/gtk/nsWindow.cpp.mozilla-1623060 firefox-75.0/widget/gtk/nsWindow.cpp
--- firefox-75.0/widget/gtk/nsWindow.cpp.mozilla-1623060 2020-04-06 23:03:37.627884434 +0200
+++ firefox-75.0/widget/gtk/nsWindow.cpp 2020-04-06 23:03:37.633884397 +0200
@@ -7925,3 +7925,15 @@ void nsWindow::SetEGLNativeWindowSize(
nsWindow* nsWindow::GetFocusedWindow() { return gFocusWindow; }
#endif
@ -67,10 +60,10 @@ diff -up firefox-74.0/widget/gtk/nsWindow.cpp.mozilla-1623060 firefox-74.0/widge
+ }
+ return size;
+}
diff -up firefox-74.0/widget/gtk/nsWindow.h.mozilla-1623060 firefox-74.0/widget/gtk/nsWindow.h
--- firefox-74.0/widget/gtk/nsWindow.h.mozilla-1623060 2020-03-09 14:10:19.000000000 +0100
+++ firefox-74.0/widget/gtk/nsWindow.h 2020-03-17 14:19:04.395231487 +0100
@@ -291,6 +291,7 @@ class nsWindow final : public nsBaseWidg
diff -up firefox-75.0/widget/gtk/nsWindow.h.mozilla-1623060 firefox-75.0/widget/gtk/nsWindow.h
--- firefox-75.0/widget/gtk/nsWindow.h.mozilla-1623060 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/widget/gtk/nsWindow.h 2020-04-06 23:03:37.632884403 +0200
@@ -293,6 +293,7 @@ class nsWindow final : public nsBaseWidg
int32_t aVertical) override;
MozContainer* GetMozContainer() { return mContainer; }
@ -78,9 +71,9 @@ diff -up firefox-74.0/widget/gtk/nsWindow.h.mozilla-1623060 firefox-74.0/widget/
// GetMozContainerWidget returns the MozContainer even for undestroyed
// descendant windows
GtkWidget* GetMozContainerWidget();
diff -up firefox-74.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1623060 firefox-74.0/widget/gtk/WindowSurfaceWayland.cpp
--- firefox-74.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1623060 2020-03-09 14:10:19.000000000 +0100
+++ firefox-74.0/widget/gtk/WindowSurfaceWayland.cpp 2020-03-17 14:19:04.394231493 +0100
diff -up firefox-75.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1623060 firefox-75.0/widget/gtk/WindowSurfaceWayland.cpp
--- firefox-75.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1623060 2020-04-03 21:35:43.000000000 +0200
+++ firefox-75.0/widget/gtk/WindowSurfaceWayland.cpp 2020-04-06 23:03:37.632884403 +0200
@@ -527,9 +527,6 @@ WindowSurfaceWayland::WindowSurfaceWayla
mShmBackupBuffer[i] = nullptr;
mDMABackupBuffer[i] = nullptr;
@ -232,9 +225,9 @@ diff -up firefox-74.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1623060 firefo
LOGWAYLAND((" mDrawToWaylandBufferDirectly = %d\n",
mDrawToWaylandBufferDirectly));
}
diff -up firefox-74.0/widget/gtk/WindowSurfaceWayland.h.mozilla-1623060 firefox-74.0/widget/gtk/WindowSurfaceWayland.h
--- firefox-74.0/widget/gtk/WindowSurfaceWayland.h.mozilla-1623060 2020-03-09 14:10:18.000000000 +0100
+++ firefox-74.0/widget/gtk/WindowSurfaceWayland.h 2020-03-17 14:19:04.394231493 +0100
diff -up firefox-75.0/widget/gtk/WindowSurfaceWayland.h.mozilla-1623060 firefox-75.0/widget/gtk/WindowSurfaceWayland.h
--- firefox-75.0/widget/gtk/WindowSurfaceWayland.h.mozilla-1623060 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/widget/gtk/WindowSurfaceWayland.h 2020-04-06 23:03:37.631884410 +0200
@@ -261,8 +261,14 @@ class WindowSurfaceWayland : public Wind
nsWindow* mWindow;
// Buffer screen rects helps us understand if we operate on

View File

@ -1,33 +0,0 @@
diff --git a/widget/gtk/mozcontainer.cpp b/widget/gtk/mozcontainer.cpp
--- a/widget/gtk/mozcontainer.cpp
+++ b/widget/gtk/mozcontainer.cpp
@@ -624,17 +624,25 @@
GdkDisplay* display = gtk_widget_get_display(GTK_WIDGET(container));
nsWaylandDisplay* waylandDisplay = WaylandDisplayGet(display);
+ wl_surface* parent_surface =
+ moz_gtk_widget_get_wl_surface(GTK_WIDGET(container));
+ if (!parent_surface) {
+ return nullptr;
+ }
+
// Available as of GTK 3.8+
struct wl_compositor* compositor = waylandDisplay->GetCompositor();
container->surface = wl_compositor_create_surface(compositor);
- wl_surface* parent_surface =
- moz_gtk_widget_get_wl_surface(GTK_WIDGET(container));
- if (!container->surface || !parent_surface) {
+ if (!container->surface) {
return nullptr;
}
container->subsurface = wl_subcompositor_get_subsurface(
waylandDisplay->GetSubcompositor(), container->surface, parent_surface);
+ if (!container->subsurface) {
+ g_clear_pointer(&container->surface, wl_surface_destroy);
+ return nullptr;
+ }
GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(container));
gint x, y;

View File

@ -1,3 +1 @@
SHA512 (cbindgen-vendor.tar.xz) = a12d9dd45301614f3a7fcd77f61e3f731718fc418fcf84b0ac7363ef4ddd8ff60e057febef917620ac89d2d47d76b8dccfa71405935e346b849b93425732016a
SHA512 (firefox-74.0.1.source.tar.xz) = c437c40740bd035ff374b3fa15abaff49dde3f613906f5e018f42dd3e219d32112e8b2e85efd9c0f7a872475640908adb1cf7cdd677b03a39ff435a57c48e6d5
SHA512 (firefox-langpacks-74.0.1-20200404.tar.xz) = f67ea5188910200150878b5978e2004ca30bc69ab99ef84702d636a320a6f45cd5555767f99e3e9b31b5227dd940a0888ffc7e8643e797fc1191f6f80a47fc6e