summaryrefslogtreecommitdiff
path: root/mozilla-1566876-webrtc-ind.patch
diff options
context:
space:
mode:
authorJan Horak <jhorak@redhat.com>2019-08-05 13:51:00 +0200
committerJan Horak <jhorak@redhat.com>2019-08-05 13:51:00 +0200
commit4092dac783582bc2f2d68a69fc9725a20e58d3f4 (patch)
treeaad78dd434eedb7196b0df7b326b08a6ab6523a9 /mozilla-1566876-webrtc-ind.patch
parentMerge branch 'master' into f30 (diff)
parentAdded webrtc indicator fix (diff)
downloadlibrewolf-fedora-ff-4092dac783582bc2f2d68a69fc9725a20e58d3f4.tar.gz
librewolf-fedora-ff-4092dac783582bc2f2d68a69fc9725a20e58d3f4.tar.bz2
librewolf-fedora-ff-4092dac783582bc2f2d68a69fc9725a20e58d3f4.zip
Merge branch 'master' into f30
Diffstat (limited to 'mozilla-1566876-webrtc-ind.patch')
-rw-r--r--mozilla-1566876-webrtc-ind.patch36
1 files changed, 36 insertions, 0 deletions
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