Hi Munakata-san, On 18 November 2016 at 12:17, Ryo Munakata <ryomnk...@gmail.com> wrote: > window->wait_for_configure should be false after dispatching more than once. > Therefore this redraw() will never be called. > > Signed-off-by: Ryo Munakata <ryomnk...@gmail.com> > --- > clients/simple-shm.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/clients/simple-shm.c b/clients/simple-shm.c > index 9fa2e21..04b4eff 100644 > --- a/clients/simple-shm.c > +++ b/clients/simple-shm.c > @@ -547,9 +547,6 @@ main(int argc, char **argv) > wl_surface_damage(window->surface, 0, 0, > window->width, window->height); > > - if (!window->wait_for_configure) > - redraw(window, NULL, 0); > - > while (running && ret != -1) > ret = wl_display_dispatch(display->display);
Hm, I don't think this is quite correct. In create_window(), we set wait_for_configure = true, only after creating an xdg_shell surface and committing. There is no roundtrip or even flush at this point, so we would expect wait_for_configure to be true, and this path to not be taken. For ivi_shell and fullscreen_shell, we do not do this, and wait_for_configure will be false; at this point we have not committed anything to the surface, and the dispatch loop will not cause a redraw, as that only comes from the frame callback. So I think this patch will break those shells. Cheers, Daniel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel