On Fri, 2021-09-03 at 21:19 +0200, Fabian Maurer wrote:
On Freitag, 3. September 2021 21:03:10 CEST Nikolay Sivov wrote:
On 9/3/21 9:33 PM, Fabian Maurer wrote:
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51576 Signed-off-by: Fabian Maurer dark.shadow4@web.de
dlls/msi/dialog.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index 703f9d43957..e6048ee6a22 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -140,6 +140,9 @@ typedef struct
static DWORD uiThreadId; static HWND hMsiHiddenWindow;
+static HWND handle_parent_dialog[10] = { NULL }; +static UINT parent_level = 0;
I'm curious, how does this work wrt threading? Why 10? This looks more like a workaround to me.
The ten is an arbitrary limit, that basically no one should reach. Just to avoid dynamic re/allocations, do you dislike this approach?
We should pass the parent dialog hwnd to CreateWindow instead of tracking that seperately in a global variable.