Closed Bug 1784873 Opened 2 years ago Closed 2 years ago

[Wayland] xdg_popup (menu) fails to show/move when positioned by gtk_window_move()

Categories

(Core :: Widget: Gtk, defect, P3)

defect

Tracking

()

RESOLVED FIXED
105 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox-esr102 --- unaffected
firefox103 --- unaffected
firefox104 --- unaffected
firefox105 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 1 open bug, Regression, )

Details

(Keywords: regression)

Attachments

(5 files)

Popups with remote content positioned by gtk_window_move() doesn't show child popups.

Set release status flags based on info from the regressing bug 1760276

Summary: [Wayland] Popups with remote content positioned by gtk_window_move() doesn't show child popups → [Wayland] xdg_popup (menu) fails to show/move when positioned by gtk_window_move()

The bug here is caused by GDK_WINDOW_TYPE_HINT_UTILITY -> GDK_WINDOW_TYPE_HINT_POPUP_MENU switch. GDK_WINDOW_TYPE_HINT_POPUP_MENU needs extra hide/show cycle when it's positioned by gtk_window_move().

As a workaround we need to use move-to-rect for popups attached to another popups - so we can't use subsurface popups.

Extra hide/show needed for gtk_window_move() produces extra flickering so avoid it if possible.

Assignee: nobody → stransky
Status: NEW → ASSIGNED

Due to https://gitlab.gnome.org/GNOME/gtk/-/issues/5089 we can't use fast popup placement for nested popups.
Only first popup can be placed by gtk_window_move().

Depends on D154880

Remove outdated check for move-to-rect. It's redundant and it's implemented in more complex way by nsWindow::WaylandPopupCheckAndGetAnchor() now.

Depends on D154881

Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/d74ad17ab62b
[Wayland] Don't hide & position popups which are on correct position r=emilio
https://hg.mozilla.org/integration/autoland/rev/d619864bd63e
[Wayland] Implement nsWindow::WaylandPopupIsFirst() helper to check popup state in popup hierarchy r=emilio
https://hg.mozilla.org/integration/autoland/rev/f37681634e20
[Wayland] Allow to use fast popup placement (without move-to-rect) for first popup only due to mutter bug r=emilio
https://hg.mozilla.org/integration/autoland/rev/406524c83203
[Wayland] Remove outdated check for move-to-rect r=emilio
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: