Closed Bug 1550051 Opened 7 months ago Closed 6 months ago

[Wayland] When multiple windows are opened, menus / overlays appear on one window only

Categories

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

Unspecified
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox-esr60 --- unaffected
firefox67 --- unaffected
firefox68 --- fixed
firefox69 --- fixed

People

(Reporter: kubrick, Assigned: stransky)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Since about 1~2 days ago, on Wayland, with multiple windows opened, menus (such as right click, add-ons, awesome bar, proper menus) appear on one window only.
Tested with X11, does not happen.

Environment, Gnome 3.32.2, Arch, kernel 5.0.14, intel graphics.

It does not happen immediately after launch. This morning it happened after I logged in the BitWarden extension.

Seems more likely to be a widget problem then a graphics one.

Component: Graphics → Widget: Gtk
Flags: needinfo?(stransky)

Yes, definitely a wayland/widget issue.

Blocks: wayland
Flags: needinfo?(stransky)
Priority: -- → P2

The context menu appears under the active window for all but one window, sometimes it is displaced off-screen as well for me on Ubuntu 19.04.

I can reliably reproduce this immediately after startup with my main profile with many windows and tabs but it is not so easy on a clean profile and seems to require some amount of interaction and window-switching before it starts to occur.

Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=4a3a0cf2e77aeedd4542f8f05925304d926949a6&tochange=09970391563cc7f319b26c9634d0c4addbb80136

Regressed by Bug 1539471.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
Regressed by: 1539471

I see that too, Thanks.

Assignee: nobody → stransky
Duplicate of this bug: 1551295

Recently we track and position all popups on Wayland which leads to
wrong placement when parent popup window is hidden.

In this patch we use plain gtk_window_move() for hidden popups and
we don't track them so they can't be used as a parent window.

Also implement nsWindow::HideWaylandPopupAndAllChildren() to clearly
hide a popup window with and its children windows.

I tested the patch, works for me. Thanks!

Keywords: checkin-needed

Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/93d4fcebc9d7
[Wayland] Don't track invisible popup windows, r=jhorak

Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
Regressions: 1555866

Comment on attachment 9064731 [details]
Bug 1550051 - [Wayland] Don't track invisible popup windows, r=ashie

Beta/Release Uplift Approval Request

  • User impact if declined: Wrong popup placement on Wayland backend.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Linux/Wayland only fix.
  • String changes made/needed: none
Attachment #9064731 - Flags: approval-mozilla-beta?

Wouldn't bug 1555866 need uplift too?

Flags: needinfo?(stransky)

(In reply to Julien Cristau [:jcristau] from comment #12)

Wouldn't bug 1555866 need uplift too?

Yes, I'll file that. Thanks.

Flags: needinfo?(stransky)

Comment on attachment 9064731 [details]
Bug 1550051 - [Wayland] Don't track invisible popup windows, r=ashie

wayland fix for 68.0b8

Attachment #9064731 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.