Red Hat Bugzilla – Bug 1464916
[Wayland] toolbar menu is not shown after some time
Last modified: 2017-07-14 03:34:12 EDT
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).
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] -> email@example.com(0, 0, 532, 429)
>>>> **************** <<<<
[3841724.048] -> firstname.lastname@example.org(new id wl_callback@124)
[3841724.054] -> email@example.com(wl_buffer@53, 0, 0)
[3841724.061] -> firstname.lastname@example.org()
So looks like we need to call wl_surface_damage after wl_surface_attach.
Fix is committed to commit 32899bf0d996dbe1008bd9abd79724a8217fb6b8 but it's seem incomplete - I still see the missing popups.
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.
Shold be fixed by https://github.com/stransky/gecko-dev/commit/e9b168371cc640b28890e8b348173db4d8b8650c