summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--D147266.diff31
-rw-r--r--D147267.diff19
-rw-r--r--firefox.spec9
3 files changed, 58 insertions, 1 deletions
diff --git a/D147266.diff b/D147266.diff
new file mode 100644
index 0000000..5f8a580
--- /dev/null
+++ b/D147266.diff
@@ -0,0 +1,31 @@
+diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
+--- a/widget/gtk/nsWindow.cpp
++++ b/widget/gtk/nsWindow.cpp
+@@ -1430,20 +1430,20 @@
+ }
+ #endif
+ if (popup->mPopupContextMenu && !popup->mPopupAnchored) {
+ LOG(" popup [%p] is first context menu", popup);
+ popup->mRelativePopupPosition = popup->mPopupPosition;
+- } else if (popup->mPopupAnchored) {
+- LOG(" popup [%p] is anchored", popup);
+- if (!popup->mPopupMatchesLayout) {
+- NS_WARNING("Anchored popup does not match layout!");
+- }
+- popup->mRelativePopupPosition = popup->mPopupPosition;
+ } else if (popup->mWaylandPopupPrev->mWaylandToplevel == nullptr) {
+ LOG(" popup [%p] has toplevel as parent", popup);
+ popup->mRelativePopupPosition = popup->mPopupPosition;
+ } else {
++ if (popup->mPopupAnchored) {
++ LOG(" popup [%p] is anchored", popup);
++ if (!popup->mPopupMatchesLayout) {
++ NS_WARNING("Anchored popup does not match layout!");
++ }
++ }
+ GdkPoint parent = WaylandGetParentPosition();
+
+ LOG(" popup [%p] uses transformed coordinates\n", popup);
+ LOG(" parent position [%d, %d]\n", parent.x, parent.y);
+ LOG(" popup position [%d, %d]\n", popup->mPopupPosition.x,
+
diff --git a/D147267.diff b/D147267.diff
new file mode 100644
index 0000000..1191b85
--- /dev/null
+++ b/D147267.diff
@@ -0,0 +1,19 @@
+diff -up firefox-100.0.2/widget/gtk/nsWindow.cpp.D147267 firefox-100.0.2/widget/gtk/nsWindow.cpp
+--- firefox-100.0.2/widget/gtk/nsWindow.cpp.D147267 2022-05-25 11:46:48.291005415 +0200
++++ firefox-100.0.2/widget/gtk/nsWindow.cpp 2022-05-25 11:50:11.447736538 +0200
+@@ -2359,11 +2359,12 @@ void nsWindow::WaylandPopupMove() {
+ LOG(" popup use move to rect %d\n", mPopupUseMoveToRect);
+
+ if (!mPopupUseMoveToRect) {
+- if (mNeedsShow && mPopupType != ePopupTypeTooltip) {
++ if (mPopupHint == ePopupTypeMenu) {
+ // Workaround for https://gitlab.gnome.org/GNOME/gtk/-/issues/4308
+- // Tooltips are created as subsurfaces with relative position.
++ // Tooltips/Utility popus are created as subsurfaces with relative position.
++ // Menu uses absolute positions.
+ LOG(" use gtk_window_move(%d, %d) for hidden widget\n", mPopupPosition.x,
+- mPopupPosition.y);
++ mPopupPosition.y);
+ gtk_window_move(GTK_WINDOW(mShell), mPopupPosition.x, mPopupPosition.y);
+ } else {
+ LOG(" use gtk_window_move(%d, %d) for visible widget\n",
diff --git a/firefox.spec b/firefox.spec
index aa58a27..40f6e66 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -163,7 +163,7 @@ ExcludeArch: aarch64
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 100.0.2
-Release: 1%{?pre_tag}%{?dist}
+Release: 2%{?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
@@ -218,6 +218,8 @@ Patch61: firefox-glibc-dynstack.patch
Patch62: build-python.patch
Patch71: 0001-GLIBCXX-fix-for-GCC-12.patch
Patch72: D142373.diff
+Patch73: D147266.diff
+Patch74: D147267.diff
# Test patches
# Generate without context by
@@ -462,6 +464,8 @@ This package contains results of tests executed during build.
%patch54 -p1 -b .1669639
%patch71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
%patch72 -p1 -b .D142373
+%patch73 -p1 -b .D147266
+%patch74 -p1 -b .D147267
# Test patches
#%patch100 -p1 -b .firefox-tests-xpcshell
@@ -1059,6 +1063,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Wed May 25 2022 Martin Stransky <stransky@redhat.com>- 100.0.2-2
+- Added fix for mzbz#1771104
+
* Fri May 20 2022 Martin Stransky <stransky@redhat.com>- 100.0.2-1
- Updated to 100.0.2
bgstack15