20 lines
1.1 KiB
Diff
20 lines
1.1 KiB
Diff
|
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",
|