On Mon, Jun 04, 2012 at 08:01:43PM +0300, Tiago Vignatti wrote: > on the first time, the transient surface is mapped and viewable, then if it > gets unmapped on the second time it doesn't show up anymore.
You mean override-redirect windows, right? > This happens with any X window that Weston maps as transient surface. > > Signed-off-by: Tiago Vignatti <[email protected]> > --- > src/xwayland/window-manager.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c > index 0a31a65..baa49e2 100644 > --- a/src/xwayland/window-manager.c > +++ b/src/xwayland/window-manager.c > @@ -568,6 +568,9 @@ weston_wm_handle_unmap_notify(struct weston_wm *wm, > xcb_generic_event_t *event) > return; > > window = hash_table_lookup(wm->window_hash, unmap_notify->window); > + if (!window->frame_id) > + return; > + We still need to do much of what the rest of this function does, just not the things that relate to tearing down the frame. In particular we need to remove the surface destroy listener so we don't get list corruption. I've committed a different patch that does this. Kristian > if (window->repaint_source) > wl_event_source_remove(window->repaint_source); > if (window->cairo_surface) > -- > 1.7.9.5 > > _______________________________________________ > wayland-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
