summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firefox.spec7
-rw-r--r--mozilla-1566876-webrtc-ind.patch36
2 files changed, 42 insertions, 1 deletions
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 <jhorak@redhat.com> - 68.0.1-3
+- Added workaround fix for webrtc indicator
+
* Wed Jul 24 2019 Martin Stransky <stransky@redhat.com> - 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:
+
bgstack15