qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] ui/cocoa: Do not rely on the first argument


From: Akihiko Odaki
Subject: Re: [PATCH 2/2] ui/cocoa: Do not rely on the first argument
Date: Wed, 10 Mar 2021 12:31:44 +0900

2021年3月9日(火) 22:10 BALATON Zoltan <balaton@eik.bme.hu>:
>
> On Tue, 9 Mar 2021, Akihiko Odaki wrote:
> > The first argument of the executable was used to get its path, but it is
> > not reliable because the executer can specify any arbitrary string. Use the
> > interfaces provided by QEMU and the platform to get those paths.
> >
> > Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
> > ---
> > ui/cocoa.m | 29 +++++++++++++++--------------
> > 1 file changed, 15 insertions(+), 14 deletions(-)
> >
> > diff --git a/ui/cocoa.m b/ui/cocoa.m
> > index d8eacea6d22..6e94301c0d6 100644
> > --- a/ui/cocoa.m
> > +++ b/ui/cocoa.m
> > @@ -1414,20 +1414,21 @@ - (void)make_about_window
> >     [superView addSubview: picture_view];
> >
> >     /* Make the name label */
> > -    x = 0;
> > -    y = y - 25;
> > -    int name_width = about_width, name_height = 20;
> > -    NSRect name_rect = NSMakeRect(x, y, name_width, name_height);
> > -    NSTextField *name_label = [[NSTextField alloc] initWithFrame: 
> > name_rect];
> > -    [name_label setEditable: NO];
> > -    [name_label setBezeled: NO];
> > -    [name_label setDrawsBackground: NO];
> > -    [name_label setAlignment: NSTextAlignmentCenter];
> > -    NSString *qemu_name = [[NSString alloc] initWithCString: gArgv[0]
> > -                                            encoding: 
> > NSASCIIStringEncoding];
> > -    qemu_name = [qemu_name lastPathComponent];
> > -    [name_label setStringValue: qemu_name];
> > -    [superView addSubview: name_label];
> > +    NSBundle *bundle = [NSBundle mainBundle];
> > +    if (bundle) {
>
> Does this break about window if the executable is not in a bundle (like
> when run from the command line after compiling)? Shouldn't you only put
> the qemu_name in this if and have some default name if bundle is not
> available (or fall back to argv[0] in that case?
>
> Regards,
> BALATON Zoltan
>

No, it just doesn't show the application name. Everything else is fine.

Regards,
Akihiko Odaki



reply via email to

[Prev in Thread] Current Thread [Next in Thread]