From 05040f1acd78af761679d32a8e1e535cecb3993a Mon Sep 17 00:00:00 2001 From: Jan Horak Date: Mon, 5 Aug 2019 13:49:49 +0200 Subject: Added webrtc indicator fix --- mozilla-1566876-webrtc-ind.patch | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 mozilla-1566876-webrtc-ind.patch (limited to 'mozilla-1566876-webrtc-ind.patch') 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: + -- cgit