[PATCH xwayland] Set the view to NULL when unmapping an X11 window

Axel Davy davy at clipper.ens.fr
Fri Nov 15 02:05:32 PST 2013


I've looked deeply in the code to find the remaining xwayland bugs.

I'll publish later a fix for these. The remaining bugs are due to 
accessing to the frame field on
unmapped windows.

Your patch solves all the issues with the view field.

Your patch is tested and
Reviewed-by: Axel Davy <axel.davy at ens.fr>

Axel Davy
Le 15/11/2013 09:44, Axel Davy a écrit :
> I have tested your patch, but it doesn't solve all the bugs occuring 
> in XWayland because of views (take vlc, go to the menu, crash).
>
> It appears ok to me to set view to NULL at these locations, but 
> there's probably something more to do.
>
> Axel Davy
>
> On 15/11/2013, Dima Ryazanov wrote :
>> Ping :)
>>
>>
>> On Fri, Nov 1, 2013 at 12:46 AM, Dima Ryazanov <dima at gmail.com 
>> <mailto:dima at gmail.com>> wrote:
>>
>>     Fixes a crash caused by accessing a deleted view in
>>     weston_wm_window_schedule_repaint. It can be easily reproduced by
>>     switching between menus in Firefox.
>>
>>     Signed-off-by: Dima Ryazanov <dima at gmail.com <mailto:dima at gmail.com>>
>>     ---
>>      src/xwayland/window-manager.c | 2 ++
>>      1 file changed, 2 insertions(+)
>>
>>     diff --git a/src/xwayland/window-manager.c
>>     b/src/xwayland/window-manager.c
>>     index b2776a0..5ee9480 100644
>>     --- a/src/xwayland/window-manager.c
>>     +++ b/src/xwayland/window-manager.c
>>     @@ -902,6 +902,7 @@ weston_wm_handle_unmap_notify(struct
>>     weston_wm *wm, xcb_generic_event_t *event)
>>     wl_list_remove(&window->surface_destroy_listener.link);
>>             window->surface = NULL;
>>             window->shsurf = NULL;
>>     +       window->view = NULL;
>>             xcb_unmap_window(wm->conn, window->frame_id);
>>      }
>>
>>     @@ -2028,6 +2029,7 @@ surface_destroy(struct wl_listener
>>     *listener, void *data)
>>             Don't try to use it later. */
>>             window->shsurf = NULL;
>>             window->surface = NULL;
>>     +       window->view = NULL;
>>      }
>>
>>      static struct weston_wm_window *
>>     --
>>     1.8.3.2
>>
>>
>>
>>
>> _______________________________________________
>> wayland-devel mailing list
>> wayland-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
>
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20131115/fd072ff8/attachment.html>


More information about the wayland-devel mailing list