From patchwork Mon Feb 25 10:24:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 159164 Delivered-To: patches@linaro.org Received: by 2002:a02:5cc1:0:0:0:0:0 with SMTP id w62csp1859786jad; Mon, 25 Feb 2019 02:24:41 -0800 (PST) X-Received: by 2002:adf:e548:: with SMTP id z8mr12325557wrm.52.1551090281478; Mon, 25 Feb 2019 02:24:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551090281; cv=none; d=google.com; s=arc-20160816; b=ScLyeJ53375Bupr5W7rrWYYJfvDOY1HTrMLgw2WUtbytwHV1u1QLVtanRNJRT30zBw i0jk8DpltkjQvd7srIO9mwVHSwM7JX74ihExRm7lvvSdoE0YqkDSlZt02JGgUd9r3u0D 0BX0/H/e4R37xzWpalTW1HX0IMun0znmM6l0WyKicCO7Vqc8NHwTxGWvEHctkfQ9rA65 BnIhcvTqZ1AyShLESoXFg7frIKX78byY1kLDbThuvyV1yD/8AYRJwXWH+VGQxHGuafoB nZ9OyWaiZpV9q9gCgVsdVgmIsGefuA43OmEmlD9VJO73rx5zQGfVoE8xRh0Sby1FZCFn gdZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=i/Mt82y4dHNRk1P+265eWJmzywuWVVP6gso7jf/FCQQ=; b=AsJX9x7NSWyTpEJRM0pMNZbReGBqGj7gt3e1UdVFDn9s+puXhBvz2/aD97C7RrSzOG SLcoKvn7FPfw+fWAYVs7X9UR1L65MNDSYbfo28f+K+VTr7BHCIBng3jBapsqJAJNH5Im mB3iXOcxyJUtKuYvVp0GNNdrc/FDhfaymxh4ZGnJhtR5Q5dHrggT3bwG/sp0LDXSixRY NITL2i/Nz6vAX54uy2SWwJ/QoCD8j7SyoZH0IkXc1vs9eLbrEtnyuSbtNKY8CCVO9ASI EHn1e2zAcRxTqSgUVBV6hZvoQl3+Jn1oC+tAqDOJjabnDpGCY0Wo1LvjwfoWzuS5feVw knVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cFocpPd9; spf=pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=peter.maydell@linaro.org Return-Path: Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id x10sor4978187wmc.25.2019.02.25.02.24.41 for (Google Transport Security); Mon, 25 Feb 2019 02:24:41 -0800 (PST) Received-SPF: pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cFocpPd9; spf=pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=peter.maydell@linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=i/Mt82y4dHNRk1P+265eWJmzywuWVVP6gso7jf/FCQQ=; b=cFocpPd9Gwptx1TKBkT80B1i9+2VIdupz4itXR8DwZtWjRV4OBgxVedAhDYUgdIze9 CVKLk2yANvU1BoM/wx7dAsiiDMvZ9kKxG08hNMrf+fUEHQ7B633++QcRxwDsnNWStV4c t3ccBicEApm87C8Pu1rs6etdnwF+hePEOfLDgZvvd9urq36brMGmCbHXPhxH6uR/5/Ro jG62wQwcpdQbgYEfTmz5RJvwuBLGyANx8GRj9Zs6K80bqP+C6SzrIWsbuqhCneztHNlV 9LXvtRMxwxLV3Cu6Pdc/8COfgaNqdIKd7Q+q8X6OqoEZcl+YUfpvQIAsyc9LqfrQ7DVU IlEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=i/Mt82y4dHNRk1P+265eWJmzywuWVVP6gso7jf/FCQQ=; b=OAObrz151enJGQp1SVJ3PZ3Cn4gsUdXYFkmked6jkTWIOoTU5vDs17gz7ybevDqVS9 3yhrwRj4SA5xwVCn0nYcucDqJybwuxabNS2/mdI68minqbwAALavVPkTVWa3nBvKNJlu cpuSV7/6g4CNT7ZNQdqmCU3esPbfflJUtIBMkCumaY8pxbTmc+WhYBGdeqr1PCdWk4QI JLd/qxBMU+3XPfZ4DN3YLN1kEnJgLBYRrV+M4GKJ2yfFUxzTp+7ntsaJxxbfcpp1x58z XZACQP215ACAwEbAA2tPKa9vabOYO7YCMPFVEjZmuKHOB1gyIo9R0a+lqMP0J8CqCS14 mabw== X-Gm-Message-State: AHQUAuZZnyQj2V8+V3uanFSQdxY1oKxPG2fGfNeSyqqSyxYR2sgTRC7H DWMjaZ2gvaiIozn3HINNjJvhC7ii X-Google-Smtp-Source: AHgI3IYn2oS6gdyz96u1iikweLWDY2KJZu3l2g4k/Z9GVVqHvXuucidc88OMRYODTPigTBgoOKLG9g== X-Received: by 2002:a1c:700a:: with SMTP id l10mr10904349wmc.13.1551090281075; Mon, 25 Feb 2019 02:24:41 -0800 (PST) Return-Path: Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id v10sm1764692wrn.26.2019.02.25.02.24.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Feb 2019 02:24:40 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Cc: patches@linaro.org, Roman Bolshakov , BALATON Zoltan , John Arbuckle , Berkus Decker , Gerd Hoffmann , Ben Hekster Subject: [PATCH v3 3/7] ui/cocoa: Factor out initial menu creation Date: Mon, 25 Feb 2019 10:24:29 +0000 Message-Id: <20190225102433.22401-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190225102433.22401-1-peter.maydell@linaro.org> References: <20190225102433.22401-1-peter.maydell@linaro.org> MIME-Version: 1.0 Factor out the long code sequence in main() which creates the initial set of menus. This will make later patches which move initialization code around a bit clearer. Signed-off-by: Peter Maydell Reviewed-by: BALATON Zoltan Reviewed-by: Roman Bolshakov Tested-by: Roman Bolshakov Message-id: 20190214102816.3393-4-peter.maydell@linaro.org --- ui/cocoa.m | 78 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 37 deletions(-) -- 2.17.2 (Apple Git-113) diff --git a/ui/cocoa.m b/ui/cocoa.m index a913a51a2d..4baec0b2ff 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -1465,43 +1465,8 @@ - (void)adjustSpeed:(id)sender @end - -int main (int argc, const char * argv[]) { - - gArgc = argc; - gArgv = (char **)argv; - int i; - - /* In case we don't need to display a window, let's not do that */ - for (i = 1; i < argc; i++) { - const char *opt = argv[i]; - - if (opt[0] == '-') { - /* Treat --foo the same as -foo. */ - if (opt[1] == '-') { - opt++; - } - if (!strcmp(opt, "-h") || !strcmp(opt, "-help") || - !strcmp(opt, "-vnc") || - !strcmp(opt, "-nographic") || - !strcmp(opt, "-version") || - !strcmp(opt, "-curses") || - !strcmp(opt, "-display") || - !strcmp(opt, "-qtest")) { - return qemu_main(gArgc, gArgv, *_NSGetEnviron()); - } - } - } - - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - - // Pull this console process up to being a fully-fledged graphical - // app with a menubar and Dock icon - ProcessSerialNumber psn = { 0, kCurrentProcess }; - TransformProcessType(&psn, kProcessTransformToForegroundApplication); - - [NSApplication sharedApplication]; - +static void create_initial_menus(void) +{ // Add menus NSMenu *menu; NSMenuItem *menuItem; @@ -1585,6 +1550,45 @@ int main (int argc, const char * argv[]) { menuItem = [[[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""] autorelease]; [menuItem setSubmenu:menu]; [[NSApp mainMenu] addItem:menuItem]; +} + +int main (int argc, const char * argv[]) { + + gArgc = argc; + gArgv = (char **)argv; + int i; + + /* In case we don't need to display a window, let's not do that */ + for (i = 1; i < argc; i++) { + const char *opt = argv[i]; + + if (opt[0] == '-') { + /* Treat --foo the same as -foo. */ + if (opt[1] == '-') { + opt++; + } + if (!strcmp(opt, "-h") || !strcmp(opt, "-help") || + !strcmp(opt, "-vnc") || + !strcmp(opt, "-nographic") || + !strcmp(opt, "-version") || + !strcmp(opt, "-curses") || + !strcmp(opt, "-display") || + !strcmp(opt, "-qtest")) { + return qemu_main(gArgc, gArgv, *_NSGetEnviron()); + } + } + } + + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + + // Pull this console process up to being a fully-fledged graphical + // app with a menubar and Dock icon + ProcessSerialNumber psn = { 0, kCurrentProcess }; + TransformProcessType(&psn, kProcessTransformToForegroundApplication); + + [NSApplication sharedApplication]; + + create_initial_menus(); // Create an Application controller QemuCocoaAppController *appController = [[QemuCocoaAppController alloc] init];