[PATCH 2/4] winex11: move XDestroyWindow() after free_gl_drawable() in set_win_format()

Alexandre Julliard julliard at winehq.org
Tue Apr 4 05:11:27 CDT 2017


Miklós Máté <mtmkls at gmail.com> writes:

> @@ -1334,21 +1334,21 @@ static void free_gl_drawable( struct gl_drawable *gl )
>  /***********************************************************************
>   *              create_gl_drawable
>   */
> -static BOOL create_gl_drawable( HWND hwnd, struct gl_drawable *gl )
> +static BOOL create_gl_drawable( HWND hwnd, struct gl_drawable *gl, struct x11drv_win_data *data )
>  {
>      gl->drawable = 0;
>  
>      if (GetAncestor( hwnd, GA_PARENT ) == GetDesktopWindow())  /* top-level window */
>      {
> -        struct x11drv_win_data *data = get_win_data( hwnd );
> -
>          if (data)
>          {
>              gl->type = DC_GL_WINDOW;
>              gl->window = create_client_window( data, gl->visual );
>              if (gl->window)
> +            {
>                  gl->drawable = pglXCreateWindow( gdi_display, gl->format->fbconfig, gl->window, NULL );
> -            release_win_data( data );
> +                XSync( gdi_display, False );

Do you really need all the extra XSync calls?  We try to avoid server
round-trips as much as possible.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list