From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winex11.drv/window.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 7ae1d8ef66a..6278fa651e7 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -2878,11 +2878,11 @@ BOOL X11DRV_WindowPosChanging( HWND hwnd, UINT swp_flags, BOOL shaped, const str /* check if we need to switch the window to managed */ if (!data->managed && data->whole_window && is_window_managed( hwnd, swp_flags, &rects->window )) { + UINT wm_state = data->desired_state.wm_state; TRACE( "making win %p/%lx managed\n", hwnd, data->whole_window ); - release_win_data( data ); - unmap_window( hwnd ); - if (!(data = get_win_data( hwnd ))) return FALSE; /* use default surface */ + window_set_wm_state( data, WithdrawnState ); data->managed = TRUE; + window_set_wm_state( data, wm_state ); }
ret = !!data->whole_window; /* use default surface if we don't have a window */