From: Rémi Bernon rbernon@codeweavers.com
--- dlls/win32u/defwnd.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/dlls/win32u/defwnd.c b/dlls/win32u/defwnd.c index 5a615f6cf3f..225f687b218 100644 --- a/dlls/win32u/defwnd.c +++ b/dlls/win32u/defwnd.c @@ -2936,6 +2936,16 @@ LRESULT default_window_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, return result; }
+static void update_children_window_state( HWND hwnd ) +{ + HWND *children; + int i; + + if (!(children = list_window_children( 0, hwnd, NULL, 0 ))) return; + for (i = 0; children[i]; i++) update_window_state( children[i] ); + free( children ); +} + LRESULT desktop_window_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) { static const WCHAR wine_display_device_guidW[] = @@ -2992,6 +3002,8 @@ LRESULT desktop_window_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) flags | SWP_NOZORDER | SWP_NOACTIVATE | SWP_DEFERERASE ); NtUserSetThreadDpiAwarenessContext( context );
+ update_children_window_state( hwnd ); + return send_message_timeout( HWND_BROADCAST, WM_WINE_DESKTOP_RESIZED, old_rect.left, old_rect.top, SMTO_ABORTIFHUNG, 2000, FALSE ); }