Page MenuHomePhabricator

Firefox wayland misplaces menus, popups the adress bar drop down etc
Open, Showstopper IssuesPublic


As the title suggests.

To rep:
export GDK_BACKEND=wayland
start firefox nightly
Click the menu & you end up with >

Happens on git and stable E.

ApB created this task.Nov 19 2018, 10:56 AM
ApB triaged this task as Showstopper Issues priority.
ManMower lowered the priority of this task from Showstopper Issues to Pending on user input.Jan 16 2019, 11:10 AM

Can you do that with WAYLAND_DEBUG=1 so we can see what the client/compositor conversation looks like to get there?

ApB added a comment.Jan 16 2019, 11:32 AM


i made some bubbles appear (showed up at 0.0 up left) and opened the menu a few times. once it was under the main window and after i moved the ff win it appeared on the top left also.

ApB added a comment.Jan 16 2019, 11:44 AM

take 2

Thanks, that fflog2 is excellent.

Looks like they create a subsurface for the menu, then create a subsurface of the subsurface at 0,0 inside the menu subsurface.

There's a reasonable chance this is some kind of E bug where the nested subsurface's co-ords aren't properly being added to the parent subsurface?

This does look like an E bug to me.

@ApB fwiw - I can rep this with firefox stable, so its not just nightly. Looking into it.

ApB raised the priority of this task from Pending on user input to Showstopper Issues.Feb 15 2019, 2:48 AM

I'm seeing behaviour that might be related. I'm working on a gtk3 app that renders some gtk3 menus in a menubar. When running under Wayland, the 1st time that an application window renders a menu, it appears slightly offscreen ( slightly too high ). If I close the menu and reopen it, nothing appears ( the parent menubar widget becomes highlighted, but no menu appears onscreen ). These menus, which are dynamically generated and appear in all windows, have the same issue in every window ... and we always see the same pattern of the 1st menu per window being slightly offscreen, and others completely invisible/offscreen.

I'm attaching a log with GDK_BACKEND=wayland and WAYLAND_DEBUG=1 set ...