[PATCH weston 1/6] xwm: don't try to remove nonexistent frame

Kristian Høgsberg hoegsberg at gmail.com
Tue Jun 5 08:46:38 PDT 2012


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 <tiago.vignatti at intel.com>
> ---
>  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
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list