From eef81f5ecc27cac8bc2bf4eacdc0934cb7e30c61 Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Mon, 10 Mar 2014 18:23:13 -0500 Subject: [PATCH] winex11: Don't leak client window and colormap when pixel format is changed. --- dlls/winex11.drv/window.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 4da361a66f4..2ca5ec2ebeb 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -1378,6 +1378,13 @@ Window create_client_window( struct x11drv_win_data *data, const XVisualInfo *vi int cx = min( max( 1, data->client_rect.right - data->client_rect.left ), 65535 ); int cy = min( max( 1, data->client_rect.bottom - data->client_rect.top ), 65535 ); + if (data->client_window) + { + XDeleteContext( data->display, data->client_window, winContext ); + XDestroyWindow( data->display, data->client_window ); + } + + if (data->colormap) XFreeColormap( data->display, data->colormap ); data->colormap = XCreateColormap( data->display, root_window, visual->visual, (visual->class == PseudoColor || visual->class == GrayScale || -- 2.11.4.GIT