From 05040f1acd78af761679d32a8e1e535cecb3993a Mon Sep 17 00:00:00 2001 From: Jan Horak Date: Mon, 5 Aug 2019 13:49:49 +0200 Subject: [PATCH] Added webrtc indicator fix --- firefox.spec | 7 ++++++- mozilla-1566876-webrtc-ind.patch | 36 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 mozilla-1566876-webrtc-ind.patch diff --git a/firefox.spec b/firefox.spec index 6c85e77..10abab7 100644 --- a/firefox.spec +++ b/firefox.spec @@ -88,7 +88,7 @@ ExcludeArch: s390x Summary: Mozilla Firefox Web browser Name: firefox Version: 68.0.1 -Release: 2%{?pre_tag}%{?dist} +Release: 3%{?pre_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 @@ -144,6 +144,7 @@ Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch Patch417: bug1375074-save-restore-x28.patch Patch418: mozilla-1512162.patch Patch419: mozilla-1568569.patch +Patch420: mozilla-1566876-webrtc-ind.patch # Wayland specific upstream patches Patch574: firefox-pipewire.patch @@ -349,6 +350,7 @@ This package contains results of tests executed during build. %patch418 -p1 -b .1512162 %endif %patch419 -p1 -b .1568569 +%patch420 -p1 -b .1566876-webrtc-ind # Wayland specific upstream patches %patch574 -p1 -b .firefox-pipewire @@ -926,6 +928,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Mon Aug 5 2019 Jan Horak - 68.0.1-3 +- Added workaround fix for webrtc indicator + * Wed Jul 24 2019 Martin Stransky - 68.0.1-2 - Added fix for rhbz#1709840 - Added node js wrapper to fix koji freezes diff --git a/mozilla-1566876-webrtc-ind.patch b/mozilla-1566876-webrtc-ind.patch new file mode 100644 index 0000000..598f58f --- /dev/null +++ b/mozilla-1566876-webrtc-ind.patch @@ -0,0 +1,36 @@ +diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp +--- a/widget/gtk/nsWindow.cpp ++++ b/widget/gtk/nsWindow.cpp +@@ -3504,12 +3504,6 @@ + mBounds = aRect; + ConstrainSize(&mBounds.width, &mBounds.height); + +- // eWindowType_child is not supported on Wayland. Just switch to toplevel +- // as a workaround. +- if (!mIsX11Display && mWindowType == eWindowType_child) { +- mWindowType = eWindowType_toplevel; +- } +- + // figure out our parent window + GtkWidget* parentMozContainer = nullptr; + GtkContainer* parentGtkContainer = nullptr; +@@ -3543,6 +3537,18 @@ + topLevelParent = GTK_WINDOW(gtk_widget_get_toplevel(parentMozContainer)); + } + ++ if (!mIsX11Display) { ++ if (mWindowType == eWindowType_child) { ++ // eWindowType_child is not supported on Wayland. Just switch to toplevel ++ // as a workaround. ++ mWindowType = eWindowType_toplevel; ++ } else if (mWindowType == eWindowType_popup && !topLevelParent) { ++ // Workaround for Wayland where the popup windows always need to have ++ // parent window. For example webrtc ui is a popup window without parent. ++ mWindowType = eWindowType_toplevel; ++ } ++ } ++ + // ok, create our windows + switch (mWindowType) { + case eWindowType_dialog: +