From 4b88e290521ef9fde9290c9bcbae7420966a6f46 Mon Sep 17 00:00:00 2001 From: Fabian Maurer Date: Sun, 12 Sep 2021 01:56:58 +0200 Subject: [PATCH] msi: Set dialog as parent in subsequent dialog. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51576 Signed-off-by: Fabian Maurer Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard --- dlls/msi/dialog.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index 703f9d43957..6463c3062ac 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -3904,7 +3904,7 @@ static void process_pending_messages( HWND hdlg ) static UINT dialog_run_message_loop( msi_dialog *dialog ) { DWORD style; - HWND hwnd; + HWND hwnd, parent; if( uiThreadId != GetCurrentThreadId() ) return SendMessageW( hMsiHiddenWindow, WM_MSI_DIALOG_CREATE, 0, (LPARAM) dialog ); @@ -3917,9 +3917,11 @@ static UINT dialog_run_message_loop( msi_dialog *dialog ) if (dialog->parent == NULL && (dialog->attributes & msidbDialogAttributesMinimize)) style |= WS_MINIMIZEBOX; + parent = dialog->parent ? dialog->parent->hwnd : 0; + hwnd = CreateWindowW( L"MsiDialogCloseClass", dialog->name, style, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, - NULL, NULL, NULL, dialog ); + parent, NULL, NULL, dialog ); if( !hwnd ) { ERR("Failed to create dialog %s\n", debugstr_w( dialog->name ));