The input-panel codes tries to see determine if a buffer has not yet
been attached (or a NULL buffer has been attached), and doesn't map
the input panel surface yet in that case. However, it test for
buffer_ref being NULL, which can happen for other reasons. The right
test is to see if surface->width is 0, which means that either a
buffer hasn't yet been attached or a NULL buffer has been attached.
https://bugs.freedesktop.org/show_bug.cgi?id=72519
wl_list_for_each_safe(ipsurf, next,
&shell->input_panel.surfaces, link) {
- if (!ipsurf->surface->buffer_ref.buffer)
+ if (ipsurf->surface->width == 0)
continue;
wl_list_insert(&shell->input_panel_layer.view_list,
&ipsurf->view->layer_link);