Added webrtc indicator fix

This commit is contained in:
Jan Horak 2019-08-05 13:49:49 +02:00
parent f732261c5e
commit 05040f1acd
2 changed files with 42 additions and 1 deletions

View File

@ -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

View File

@ -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: