From patchwork Thu Feb 14 10:28:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 158345 Delivered-To: patches@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp1175235jaa; Thu, 14 Feb 2019 02:28:23 -0800 (PST) X-Received: by 2002:a1c:7011:: with SMTP id l17mr2213864wmc.8.1550140103124; Thu, 14 Feb 2019 02:28:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550140103; cv=none; d=google.com; s=arc-20160816; b=eXlUKy6EEYEsambV6318NiQvdfBpt3k3sFRn+5NwpX+rqXs5asTvW5vWnzpsxlcVwW wwrkPVns7ho5yg8lPznTnOvA6ez7YHvRj6e7h2v6gGupI2QKa8mz1xk+mRz7eVbaMrCh +v8PCxVi9WNXWEYPxpzq1XVFWFVx8YUWKEC1YRX7Re4J86dPxemo0BBVnnBrST0kFK2X zYyuArnlwBlcVo9OPG0CB/SDCNZNliUM/kv0MtaxitaAH8q3/h8TuPUr0rkaV0vILpx5 EHF5/tnZkpRyjrNyxtMwkpTht3HRh30h0hsiZTX+g6UgKoCQ6PhVxH615bHj8Fed3O0a kSqw== 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=PLM2/74UtOU0eSkgAa16v4YbF1HJYo83zpFvQXl3jCI=; b=O5ITtqLc5AAtwTmG176deItw7mFWvGRMs5gNB3FdPEEfGAjkSQj7yCXbqwlNQ89oGK QgukqtMGkGcByuDIm0Q9UembdR9FzRrEPEKFAv5QuiUb7xM3C44zfz9BwehTuo4sgedu GUaBnKBkvdrEt1p8IsDBIHhA/LTcdrFcipkGSNXjoxqN3eSbMS8lYZLv7ID8NfZmoDXI +bb5p7dYCLWqIzpLMpp5GV85Uk8AlJlrazocIdXajw/wE2q97oOnWxsa3GyYRJ8V7GjC czvacbc+LATHqogyPv/1WudN/gG/bfJGLSD6um89c8+LhksTEJhfu1B6U4Qen6c6yDaL 5X6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dqI9ffDR; spf=pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.41 as permitted sender) smtp.mailfrom=peter.maydell@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id d4sor1293927wmf.22.2019.02.14.02.28.22 for (Google Transport Security); Thu, 14 Feb 2019 02:28:23 -0800 (PST) Received-SPF: pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dqI9ffDR; spf=pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.41 as permitted sender) smtp.mailfrom=peter.maydell@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=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=PLM2/74UtOU0eSkgAa16v4YbF1HJYo83zpFvQXl3jCI=; b=dqI9ffDRg8ChGGDgUvROMQdi55sSYWUTXyUTSU8lVtoVq5LxOaer2OY9MtkoIhCrnA 3ztbWo9nV2LtSyWe1/vLLbvWW0Ctk6YkaIP3XX955BrdHL3S+MeKtmJOcj4Nyx0NDtZ1 qGvKygkXjjVoaIGksv0L/DzdUYyrG4+6TNpgmDybZrrPFQHed2GcTpgdIRFQhlIUe96L tRcSynknaZRClrUQ6Y7gnnVMxpEF2dsNfQ+QLiOTefCZShpeP5lFjOzL4NbsOjhsiMhy c7JJj5jtJrgJhalnIhR+G5zZGYzjaR4YKzc74cBk8VVBJ7JR+kWw0G+AnklVYK9DWjJe uV8g== 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=PLM2/74UtOU0eSkgAa16v4YbF1HJYo83zpFvQXl3jCI=; b=ngNYOJYr4Xrbvg7LXOVXrGeFXgGYd19j8Oa+ugZtkPPX2SUQm1FhDakRG/QfjEKWbq qENm7f0y9oX/jFfbxgO9XijARp7qwCBYGZXe42bEQHE6f07yKTsI0OEc2z6HVgYGxyrT 2MJlrEUGX504fDh873MGHPHKkA7qYRoT0oY1GM5wyBVxs8GzkLSIEoKhVsVE5y7hQTNu d14twb1/oW+4p7uUZC4kKImta25QyNYE9W6gFBPIYCXcDrA2OHjC16CVszAJdLb4l8kK hFTCrIn6wbEPJy0cAZ7e8DkVaqFzu1TM7n5waqE91O/doCL2iRb+JtyXkHYk1CM1g0+3 taJQ== X-Gm-Message-State: AHQUAuYeRimykPBu+60Xva+Z28+pHfmM0hak0smNkyg2wdJL9UfPe4mD r3KqVY4WXITMRWTnPzv0Bs6i0eFx X-Google-Smtp-Source: AHgI3IZXV5V1DQLhKXVddo2PyDWvyJ8yIv9KaKSAhOBR8bLOKKrnVW1fYdfUF7N9cnvlNVRDceLHnw== X-Received: by 2002:a1c:26c1:: with SMTP id m184mr2048997wmm.25.1550140102683; Thu, 14 Feb 2019 02:28:22 -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 o5sm6473817wrh.34.2019.02.14.02.28.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Feb 2019 02:28:22 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Cc: patches@linaro.org, John Arbuckle , Roman Bolshakov , Berkus Decker , Gerd Hoffmann , Ben Hekster , BALATON Zoltan Subject: [PATCH v2 3/7] ui/cocoa: Factor out initial menu creation Date: Thu, 14 Feb 2019 10:28:12 +0000 Message-Id: <20190214102816.3393-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190214102816.3393-1-peter.maydell@linaro.org> References: <20190214102816.3393-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 --- ui/cocoa.m | 78 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 37 deletions(-) -- 2.17.2 (Apple Git-113) Reviewed-by: BALATON Zoltan Reviewed-by: Roman Bolshakov Tested-by: Roman Bolshakov diff --git a/ui/cocoa.m b/ui/cocoa.m index 9d23732ff9..0b1cd31543 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -1461,43 +1461,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; @@ -1581,6 +1546,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];