diff options
Diffstat (limited to 'mozilla-1566876-webrtc-ind.patch')
-rw-r--r-- | mozilla-1566876-webrtc-ind.patch | 36 |
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: + |