From 7977d7ab982bc1db3a86e67720709a5f89eed01a Mon Sep 17 00:00:00 2001 From: Gliniak Date: Tue, 1 Feb 2022 08:11:55 +0100 Subject: [PATCH] [Base] Changed entry point to wmain for Windows This prevents subapps from crashing when executing wmain specific functions --- src/xenia/base/console_app_main_win.cc | 3 ++- src/xenia/base/console_win.cc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/xenia/base/console_app_main_win.cc b/src/xenia/base/console_app_main_win.cc index cd2a38dc4..6cc700eec 100644 --- a/src/xenia/base/console_app_main_win.cc +++ b/src/xenia/base/console_app_main_win.cc @@ -13,7 +13,8 @@ #include "xenia/base/console_app_main.h" #include "xenia/base/main_win.h" -int main(int argc_ignored, char** argv_ignored) { +// A wide character entry point is required for functions like _get_wpgmptr. +int wmain(int argc_ignored, wchar_t** argv_ignored) { xe::ConsoleAppEntryInfo entry_info = xe::GetConsoleAppEntryInfo(); std::vector args; diff --git a/src/xenia/base/console_win.cc b/src/xenia/base/console_win.cc index e6b8fb887..252e99b84 100644 --- a/src/xenia/base/console_win.cc +++ b/src/xenia/base/console_win.cc @@ -27,7 +27,7 @@ static bool has_shell_environment_variable() { size_t size = 0; // Check if SHELL exists // If it doesn't, then we are in a Windows Terminal - auto error = getenv_s(&size, nullptr, 0, "SHELL"); + auto error = _wgetenv_s(&size, nullptr, 0, L"SHELL"); if (error) { return false; }