Module: wine Branch: master Commit: eef81f5ecc27cac8bc2bf4eacdc0934cb7e30c61 URL: http://source.winehq.org/git/wine.git/?a=commit;h=eef81f5ecc27cac8bc2bf4eacd...
Author: Ken Thomases ken@codeweavers.com Date: Mon Mar 10 18:23:13 2014 -0500
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 4da361a..2ca5ec2 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 ||