<html><head></head><body><div class="gmail_quote">Le 21 juin 2017 11:21:01 GMT+03:00, Thomas Guillem <thomas@gllm.fr> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">---<br /> include/vlc_vout_window.h                       | 5 ++++-<br /> modules/gui/qt/components/interface_widgets.cpp | 3 ++-<br /> modules/gui/skins2/src/skin_main.cpp            | 3 ++-<br /> modules/gui/skins2/src/vout_window.cpp          | 3 ++-<br /> modules/hw/vdpau/display.c                      | 2 +-<br /> modules/video_output/glx.c                      | 2 +-<br /> modules/video_output/opengl/egl.c               | 2 +-<br /> modules/video_output/xcb/events.c               | 2 +-<br /> modules/video_output/xcb/window.c               | 7 ++++---<br /> 9 files changed, 18 insertions(+), 11 deletions(-)<br /><br />diff --git a/include/vlc_vout_window.h b/include/vlc_vout_window.h<br />index 69a719bd2a..698df970d1 100644<br />--- a/include/vlc_vout_window.h<br />+++ b/include/vlc_vout_window.h<br />@@ -137,7 +137,10 @@ struct vout_window_t {<br /> <br />     /* display server (mandatory) */<br />     union {<br />-        char     *x11; /* X11 display (NULL = use default) */<br />+        struct {<br />+            char *name; /* X11 display name (NULL = use default) */<br />+            void *dpy;  /* (Display created by XOpenDisplay() or NULL) */<br />+        } x11;<br />         struct wl_display *wl;   /* Wayland struct wl_display pointer */<br />     } display;<br /> <br />diff --git a/modules/gui/qt/components/interface_widgets.cpp b/modules/gui/qt/components/interface_widgets.cpp<br />index d483461cb5..e362ab6eda 100644<br />--- a/modules/gui/qt/components/interface_widgets.cpp<br />+++ b/modules/gui/qt/components/interface_widgets.cpp<br />@@ -152,7 +152,8 @@ bool VideoWidget::request( struct vout_window_t *p_wnd )<br />     {<br />         case VOUT_WINDOW_TYPE_XID:<br />             p_wnd->handle.xid = stable->winId();<br />-            p_wnd->display.x11 = NULL;<br />+            p_wnd-><a href="http://display.x11.name">display.x11.name</a> = NULL;<br />+            p_wnd->display.x11.dpy = NULL;<br />             break;<br />         case VOUT_WINDOW_TYPE_HWND:<br />             p_wnd->handle.hwnd = (void *)stable->winId();<br />diff --git a/modules/gui/skins2/src/skin_main.cpp b/modules/gui/skins2/src/skin_main.cpp<br />index cc93d603ce..2bd1fb3ef9 100644<br />--- a/modules/gui/skins2/src/skin_main.cpp<br />+++ b/modules/gui/skins2/src/skin_main.cpp<br />@@ -395,7 +395,8 @@ static int WindowOpen( vout_window_t *pWnd, const vout_window_cfg_t *cfg )<br />     CmdExecuteBlock::executeWait( CmdGenericPtr( cmd ) );<br /> <br /> #ifdef X11_SKINS<br />-    pWnd->display.x11 = NULL;<br />+    pWnd-><a href="http://display.x11.name">display.x11.name</a> = NULL;<br />+    pWnd->display.x11.dpy = NULL;<br /> <br />     if( !pWnd->handle.xid )<br /> #else<br />diff --git a/modules/gui/skins2/src/vout_window.cpp b/modules/gui/skins2/src/vout_window.cpp<br />index 9c2bd2d971..64a452c9ca 100644<br />--- a/modules/gui/skins2/src/vout_window.cpp<br />+++ b/modules/gui/skins2/src/vout_window.cpp<br />@@ -46,7 +46,8 @@ VoutWindow::VoutWindow( intf_thread_t *pIntf, vout_window_t* pWnd,<br /> <br /> #ifdef X11_SKINS<br />         m_pWnd->handle.xid = getOSHandle();<br />-        m_pWnd->display.x11 = NULL;<br />+        m_pWnd-><a href="http://display.x11.name">display.x11.name</a> = NULL;<br />+        m_pWnd->display.x11.dpy = NULL;<br /> #else<br />         m_pWnd->handle.hwnd = getOSHandle();<br /> #endif<br />diff --git a/modules/hw/vdpau/display.c b/modules/hw/vdpau/display.c<br />index a92ac742e5..c9f5208e13 100644<br />--- a/modules/hw/vdpau/display.c<br />+++ b/modules/hw/vdpau/display.c<br />@@ -434,7 +434,7 @@ static int Open(vlc_object_t *obj)<br />     }<br /> <br />     /* Load the VDPAU back-end and create a device instance */<br />-    VdpStatus err = vdp_get_x11(sys->embed->display.x11,<br />+    VdpStatus err = vdp_get_x11(sys->embed-><a href="http://display.x11.name">display.x11.name</a>,<br />                                 xcb_screen_num(sys->conn, screen),<br />                                 &sys->vdp, &sys->device);<br />     if (err != VDP_STATUS_OK)<br />diff --git a/modules/video_output/glx.c b/modules/video_output/glx.c<br />index dc692e9a59..0f76cd405d 100644<br />--- a/modules/video_output/glx.c<br />+++ b/modules/video_output/glx.c<br />@@ -121,7 +121,7 @@ static int Open (vlc_object_t *obj)<br />         return VLC_EGENERIC;<br /> <br />     /* Initialize GLX display */<br />-    Display *dpy = XOpenDisplay (gl->surface->display.x11);<br />+    Display *dpy = XOpenDisplay (gl->surface-><a href="http://display.x11.name">display.x11.name</a>);<br />     if (dpy == NULL)<br />         return VLC_EGENERIC;<br /> <br />diff --git a/modules/video_output/opengl/egl.c b/modules/video_output/opengl/egl.c<br />index 22cf3545c9..ffa363cb68 100644<br />--- a/modules/video_output/opengl/egl.c<br />+++ b/modules/video_output/opengl/egl.c<br />@@ -224,7 +224,7 @@ static int Open (vlc_object_t *obj, const struct gl_api *api)<br />         goto error;<br /> <br />     window = &wnd->handle.xid;<br />-    sys->x11 = XOpenDisplay(wnd->display.x11);<br />+    sys->x11 = XOpenDisplay(wnd-><a href="http://display.x11.name">display.x11.name</a>);<br />     if (sys->x11 == NULL)<br />         goto error;<br /> <br />diff --git a/modules/video_output/xcb/events.c b/modules/video_output/xcb/events.c<br />index 1b53f2b66a..a68ba4cd25 100644<br />--- a/modules/video_output/xcb/events.c<br />+++ b/modules/video_output/xcb/events.c<br />@@ -110,7 +110,7 @@ vout_window_t *vlc_xcb_parent_Create(vout_display_t *vd,<br />         return NULL;<br />     }<br /> <br />-    xcb_connection_t *conn = Connect (VLC_OBJECT(vd), wnd->display.x11);<br />+    xcb_connection_t *conn = Connect (VLC_OBJECT(vd), wnd-><a href="http://display.x11.name">display.x11.name</a>);<br />     if (conn == NULL)<br />         goto error;<br />     *pconn = conn;<br />diff --git a/modules/video_output/xcb/window.c b/modules/video_output/xcb/window.c<br />index bf291aa1e5..68d8a238a1 100644<br />--- a/modules/video_output/xcb/window.c<br />+++ b/modules/video_output/xcb/window.c<br />@@ -411,7 +411,7 @@ static int Open (vout_window_t *wnd, const vout_window_cfg_t *cfg)<br /> <br />     wnd->type = VOUT_WINDOW_TYPE_XID;<br />     wnd->handle.xid = window;<br />-    wnd->display.x11 = display;<br />+    wnd-><a href="http://display.x11.name">display.x11.name</a> = display;<br />     wnd->control = Control;<br />     wnd->sys = p_sys;<br /> <br />@@ -524,7 +524,7 @@ static void Close (vout_window_t *wnd)<br />         XCB_keyHandler_Destroy (p_sys->keys);<br /> <br />     xcb_disconnect (conn);<br />-    free (wnd->display.x11);<br />+    free (wnd-><a href="http://display.x11.name">display.x11.name</a>);<br />     free (p_sys);<br /> }<br /> <br />@@ -627,7 +627,8 @@ static int EmOpen (vout_window_t *wnd, const vout_window_cfg_t *cfg)<br /> <br />     p_sys->embedded = true;<br />     wnd->type = VOUT_WINDOW_TYPE_XID;<br />-    wnd->display.x11 = NULL;<br />+    wnd-><a href="http://display.x11.name">display.x11.name</a> = NULL;<br />+    wnd->display.x11.dpy = NULL;<br />     wnd->handle.xid = window;<br />     wnd->control = Control;<br />     wnd->sys = p_sys;</pre></blockquote></div><br clear="all">Nack. This makes no sense since the display maybe an XCB connection<br>
-- <br>
Rémi Denis-Courmont<br>
Typed on an inconvenient virtual keyboard</body></html>