On Wed, 25 Apr 2012 11:28:28 +0300 Pekka Paalanen <[email protected]> wrote:
> On Tue, 24 Apr 2012 22:20:26 +0200 > Tomasz Borowik <[email protected]> wrote: > > > From: timon37 <[email protected]> > > Date: Tue, 24 Apr 2012 22:13:38 +0200 > > Subject: [PATCH] Fix infinite loop in xwl_screen_post_damage > > > > Happens when first two windows are damaged, then later one is damaged and > > the other is unrealized. It makes the damaged windows next point to itself. > > > > Triggers most often on menus or tooltips. > > --- > > hw/xfree86/xwayland/xwayland-window.c | 10 +++++++++- > > 1 files changed, 9 insertions(+), 1 deletions(-) > > > > diff --git a/hw/xfree86/xwayland/xwayland-window.c > > b/hw/xfree86/xwayland/xwayland-window.c > > index e58350f..8db54e1 100644 > > --- a/hw/xfree86/xwayland/xwayland-window.c > > +++ b/hw/xfree86/xwayland/xwayland-window.c > > @@ -218,7 +218,7 @@ xwl_unrealize_window(WindowPtr window) > > { > > ScreenPtr screen = window->drawable.pScreen; > > struct xwl_screen *xwl_screen; > > - struct xwl_window *xwl_window; > > + struct xwl_window *xwl_window, *iter, *tmp; > > struct xwl_input_device *xwl_input_device; > > Bool ret; > > > > @@ -248,6 +248,14 @@ xwl_unrealize_window(WindowPtr window) > > wl_buffer_destroy(xwl_window->buffer); > > wl_surface_destroy(xwl_window->surface); > > xorg_list_del(&xwl_window->link); > > + > > + xorg_list_for_each_entry_safe(iter, tmp, > > + &xwl_screen->damage_window_list, link_damage) { > > + if (iter == xwl_window) { > > + xorg_list_del(&xwl_window->link_damage); > > + break; > > + } > > + } > > xorg_list_del(&xwl_window->link_damage); > > This second del call seems strange, is it intentional? > Nope, error from copy&paste (I'm working on a significantly different tree). Sorry about that, should I resend the fixed patch? -- Tomasz Borowik <[email protected]> _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
