xvmc: Generate new resource ID in _XIDHandler, otherwise it's invalid.
authorCooper Yuan <cooperyuan@gmail.com>
Tue, 15 Sep 2009 05:16:56 +0000 (13:16 +0800)
committerCooper Yuan <cooperyuan@gmail.com>
Tue, 15 Sep 2009 05:16:56 +0000 (13:16 +0800)
src/xvmc/context.c
src/xvmc/subpicture.c
src/xvmc/surface.c

index 273f65802928adf0633212ae8edad01092120ddc..9c2b6648bb55d6db8fb1c27f9c0be584ff5dacf0 100644 (file)
@@ -1,6 +1,7 @@
 #include <assert.h>
 #include <X11/Xlib.h>
 #include <X11/extensions/XvMClib.h>
+#include <X11/Xlibint.h>
 #include <pipe/p_context.h>
 #include <vl_display.h>
 #include <vl_screen.h>
@@ -137,6 +138,7 @@ Status XvMCCreateContext(Display *display, XvPortID port, int surface_type_id, i
        struct vlScreen         *vl_scrn;
        struct vlContext        *vl_ctx;
        struct pipe_context     *pipe;
+       Display                 *dpy = display;
 
        assert(display);
 
@@ -176,6 +178,7 @@ Status XvMCCreateContext(Display *display, XvPortID port, int surface_type_id, i
        context->port = port;
        context->privData = vl_ctx;
 
+       SyncHandle();
        return Success;
 }
 
index c8f70c90d0c09f96aa5c2c511855f27e1d6799fd..09e9c98e6afccfeac1a4a24b359244817f321d3a 100644 (file)
@@ -2,6 +2,7 @@
 #include <X11/Xlib.h>
 #include <X11/extensions/Xvlib.h>
 #include <X11/extensions/XvMC.h>
+#include <X11/Xlibint.h>
 
 Status XvMCCreateSubpicture
 (
@@ -13,6 +14,7 @@ Status XvMCCreateSubpicture
        int xvimage_id
 )
 {
+       Display *dpy = display;
        assert(display);
        
        if (!context)
@@ -38,7 +40,8 @@ Status XvMCCreateSubpicture
        subpicture->component_order[2] = 0;
        subpicture->component_order[3] = 0;
        /* TODO: subpicture->privData = ;*/
-       
+
+       SyncHandle();
        return Success;
 }
 
index 7c5f45bd346087e4f91cf53a6751c23f70de8edd..fea351b84f0da30a9dbeeadc295a230d04ea0f62 100644 (file)
@@ -1,6 +1,7 @@
 #include <assert.h>
 #include <X11/Xlib.h>
 #include <X11/extensions/XvMC.h>
+#include <X11/Xlibint.h>
 #include <vl_display.h>
 #include <vl_screen.h>
 #include <vl_context.h>
@@ -61,6 +62,7 @@ Status XvMCCreateSurface(Display *display, XvMCContext *context, XvMCSurface *su
 {
        struct vlContext *vl_ctx;
        struct vlSurface *vl_sfc;
+       Display *dpy = display;
 
        assert(display);
 
@@ -90,6 +92,7 @@ Status XvMCCreateSurface(Display *display, XvMCContext *context, XvMCSurface *su
        surface->height = context->height;
        surface->privData = vl_sfc;
 
+       SyncHandle();
        return Success;
 }