Closed Bug 2041556 Opened 4 months ago Closed 4 months ago

Popups sized to 1×1 after monitor power-cycle when widget.wayland.fractional-scale.enabled is true (even at scale 1.0)

Categories

(Core :: Widget: Gtk, defect)

Firefox 150
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: mail, Unassigned)

References

(Blocks 1 open bug)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:150.0) Gecko/20100101 Firefox/150.0

Steps to reproduce:

With widget.wayland.fractional-scale.enabled = true (default), popup menus (context menu, hamburger menu, address bar dropdown) silently fail to appear after the monitor is power-cycled or the wl_output is reconfigured. Wayland protocol trace shows Firefox creating popups with xdg_positioner.set_size(1, 1), resulting in xdg_popup.configure(..., 1, 1) and the popup being immediately destroyed.

Steps to reproduce:

Launch Firefox with widget.wayland.fractional-scale.enabled = true on Sway with a single monitor (scale 1.0)
Confirm right-click and hamburger menu work normally
Power-cycle the monitor (off ~10 sec, on) — this triggers an output disconnect/reconnect from the compositor's perspective
Try to open any popup (right-click, hamburger, address bar dropdown)

Wayland protocol evidence (from WAYLAND_DEBUG=1):
Broken popup creation:
xdg_positioner#111.set_size(1, 1)
xdg_positioner#111.set_anchor_rect(1366, 917, 1, 1)
xdg_positioner#111.set_offset(-2, -2)
xdg_positioner#111.set_anchor(8)
xdg_positioner#111.set_gravity(8)
xdg_surface#112.get_popup(new id xdg_popup#98, xdg_surface#69, xdg_positioner#111)
xdg_popup#98.configure(1365, 916, 1, 1)
xdg_popup#98.destroy() // immediately

Related: Bug 1849109 (Context menu broken with widget.wayland.fractional-scale.enabled). Bug 1633989 (Wayland popup tracker meta-bug).

sway version 1.11

Actual results:

right click on webpage:
Actual: popup is invisible / never appears

Expected results:

Expected: popup appears at correct size

Recovery:

swaymsg reload (re-sends output configuration) — popups recover without restart
Toggling widget.wayland.fractional-scale.enabled off, then on (or just off) — recovers
Restarting Firefox — recovers

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Flags: needinfo?(mail)

Arg I thought I was on the latest flatpak since I had upgraded recently, but looks like 151 is out and I'm not able to repro by turning my monitor off with 151. Thank you!

Status: UNCONFIRMED → RESOLVED
Closed: 4 months ago
Flags: needinfo?(mail)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.