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

Fabian Maurer dark.shadow4 at web.de
Mon Sep 6 12:38:33 CDT 2021


On Montag, 6. September 2021 10:06:34 CEST you wrote:
> 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.

Sorry, I don't think I understand.
Isn't the whole reason we track it that we can pass it later to CreateWindow?

Regards,
Fabian Maurer






More information about the wine-devel mailing list