[PATCH weston] clients/simple-shm: remove unreachable function call

Ryo Munakata ryomnktml at gmail.com
Thu Nov 24 09:08:25 UTC 2016


Hi Daniel-san.

On Mon, 21 Nov 2016 09:44:42 +0000
Daniel Stone <daniel at fooishbar.org> wrote:

> Hi Munakata-san,
> 
> On 18 November 2016 at 12:17, Ryo Munakata <ryomnktml at 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 <ryomnktml at 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.

You are absolutely right.
This patch breaks those paths.
I forgot to test on shells other than desktop-shell.

Thank you for pointing it out.

-- 
Ryo Munakata <ryomnktml at gmail.com>


More information about the wayland-devel mailing list