From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winex11.drv/window.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 9abfa01fcc4..e4f2e051ec9 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -1742,7 +1742,7 @@ static void destroy_whole_window( struct x11drv_win_data *data, BOOL already_des { TRACE( "win %p xwin %lx/%lx\n", data->hwnd, data->whole_window, data->client_window );
- if (data->client_window) XDeleteContext( data->display, data->client_window, winContext ); + detach_client_window( data, data->client_window, !already_destroyed );
if (!data->whole_window) { @@ -1760,7 +1760,6 @@ static void destroy_whole_window( struct x11drv_win_data *data, BOOL already_des } else { - if (!already_destroyed) detach_client_window( data, data->client_window, TRUE ); XDeleteContext( data->display, data->whole_window, winContext ); if (!already_destroyed) { @@ -1769,7 +1768,7 @@ static void destroy_whole_window( struct x11drv_win_data *data, BOOL already_des } } if (data->whole_colormap) XFreeColormap( data->display, data->whole_colormap ); - data->whole_window = data->client_window = 0; + data->whole_window = 0; data->whole_colormap = 0; data->wm_state = WithdrawnState; data->net_wm_state = 0;