[PATCH 1/3] msi: Set dialog as parent in subsequent dialog

Hans Leidekker hans at codeweavers.com
Mon Sep 6 03:06:34 CDT 2021


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 at 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.









More information about the wine-devel mailing list