Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at
Bug 1464916 - [Wayland] toolbar menu is not shown after some time
Summary: [Wayland] toolbar menu is not shown after some time
Alias: None
Product: Fedora
Classification: Fedora
Component: firefox
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Martin Stransky
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: ffwayland
TreeView+ depends on / blocked
Reported: 2017-06-26 08:52 UTC by Martin Stransky
Modified: 2017-07-14 07:34 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2017-07-14 07:34:12 UTC
Type: Bug

Attachments (Terms of Use)

Description Martin Stransky 2017-06-26 08:52:42 UTC
Description of problem:

When pop up menu is opened repeatedly it's not shown. May be caused by missing parent gdk surface (gdk_wayland_window_get_wl_surface() returns null) and when background surface is transparent (after pop-up transparency fix).

Comment 1 Martin Stransky 2017-07-10 20:17:13 UTC
It may be caused by calling wl_surface_damage() to buffer which is released afterward and a new buffer is attached with zero damage area so nothing is rendered:

[3841717.306]  -> wl_surface(0, 0, 532, 429)
>>>> **************** <<<<
[3841724.027] wl_buffer()
[3841724.041] wl_callback(8433000)
[3841724.048]  -> wl_surface(new id wl_callback@124)
[3841724.054]  -> wl_surface(wl_buffer@53, 0, 0)
[3841724.061]  -> wl_surface()

Comment 2 Martin Stransky 2017-07-10 20:18:08 UTC
So looks like we need to call wl_surface_damage after wl_surface_attach.

Comment 3 Martin Stransky 2017-07-12 09:14:10 UTC
Fix is committed to commit 32899bf0d996dbe1008bd9abd79724a8217fb6b8 but it's seem incomplete - I still see the missing popups.

Comment 4 Martin Stransky 2017-07-13 10:42:35 UTC
Hm, that does not fix that. The real problem here is that we wait for wl_surface frame callback to draw but the wl_surface is not visible. So the frame callback is not going to be called and we don't know that.

Note You need to log in before you can comment on or make changes to this bug.