From: Gildas Bazin Date: Mon, 8 Feb 2010 08:33:26 +0000 (+0000) Subject: Restore cursor when closing vout since the window doesn't belong to us X-Git-Tag: 1.1.0-ff~293 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=f4ebb1b3522281cd243e1a1f0b197af00fe22402;p=vlc Restore cursor when closing vout since the window doesn't belong to us --- diff --git a/modules/video_output/xcb/glx.c b/modules/video_output/xcb/glx.c index 879335ffad..cbb1fe56b3 100644 --- a/modules/video_output/xcb/glx.c +++ b/modules/video_output/xcb/glx.c @@ -417,6 +417,13 @@ static void Close (vlc_object_t *obj) glXMakeCurrent (dpy, None, NULL); glXDestroyContext (dpy, sys->ctx); } + + /* show the default cursor */ + xcb_change_window_attributes (XGetXCBConnection (sys->display), + sys->embed->handle.xid, XCB_CW_CURSOR, + &(uint32_t) { XCB_CURSOR_NONE }); + xcb_flush (XGetXCBConnection (sys->display)); + XCloseDisplay (dpy); vout_display_DeleteWindow (vd, sys->embed); free (sys); diff --git a/modules/video_output/xcb/x11.c b/modules/video_output/xcb/x11.c index b4641f4267..3255aabd77 100644 --- a/modules/video_output/xcb/x11.c +++ b/modules/video_output/xcb/x11.c @@ -310,6 +310,12 @@ static void Close (vlc_object_t *obj) vout_display_sys_t *p_sys = vd->sys; ResetPictures (vd); + + /* show the default cursor */ + xcb_change_window_attributes (p_sys->conn, p_sys->embed->handle.xid, XCB_CW_CURSOR, + &(uint32_t) { XCB_CURSOR_NONE }); + xcb_flush (p_sys->conn); + /* colormap, window and context are garbage-collected by X */ xcb_disconnect (p_sys->conn); vout_display_DeleteWindow (vd, p_sys->embed); diff --git a/modules/video_output/xcb/xvideo.c b/modules/video_output/xcb/xvideo.c index 0c479bb8c0..194837c548 100644 --- a/modules/video_output/xcb/xvideo.c +++ b/modules/video_output/xcb/xvideo.c @@ -560,6 +560,11 @@ static void Close (vlc_object_t *obj) picture_pool_Delete (p_sys->pool); } + /* show the default cursor */ + xcb_change_window_attributes (p_sys->conn, p_sys->embed->handle.xid, XCB_CW_CURSOR, + &(uint32_t) { XCB_CURSOR_NONE }); + xcb_flush (p_sys->conn); + free (p_sys->att); xcb_disconnect (p_sys->conn); vout_display_DeleteWindow (vd, p_sys->embed);