msi: Set dialog as parent in subsequent dialog.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51576
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Fabian Maurer 2021-09-12 01:56:58 +02:00 committed by Alexandre Julliard
parent a0a800ab1b
commit 4b88e29052
1 changed files with 4 additions and 2 deletions

View File

@ -3904,7 +3904,7 @@ static void process_pending_messages( HWND hdlg )
static UINT dialog_run_message_loop( msi_dialog *dialog ) static UINT dialog_run_message_loop( msi_dialog *dialog )
{ {
DWORD style; DWORD style;
HWND hwnd; HWND hwnd, parent;
if( uiThreadId != GetCurrentThreadId() ) if( uiThreadId != GetCurrentThreadId() )
return SendMessageW( hMsiHiddenWindow, WM_MSI_DIALOG_CREATE, 0, (LPARAM) dialog ); 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)) if (dialog->parent == NULL && (dialog->attributes & msidbDialogAttributesMinimize))
style |= WS_MINIMIZEBOX; style |= WS_MINIMIZEBOX;
parent = dialog->parent ? dialog->parent->hwnd : 0;
hwnd = CreateWindowW( L"MsiDialogCloseClass", dialog->name, style, hwnd = CreateWindowW( L"MsiDialogCloseClass", dialog->name, style,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, NULL, dialog ); parent, NULL, NULL, dialog );
if( !hwnd ) if( !hwnd )
{ {
ERR("Failed to create dialog %s\n", debugstr_w( dialog->name )); ERR("Failed to create dialog %s\n", debugstr_w( dialog->name ));