From 3337558bba76b009f296ae6eb960e6b99682bcba Mon Sep 17 00:00:00 2001 From: David Rose Date: Wed, 30 Sep 2009 01:18:01 +0000 Subject: [PATCH] revert WinMain: not a good idea after all --- direct/src/plugin/p3dPythonMain.cxx | 70 ----------------------------- direct/src/plugin/p3dSession.cxx | 5 +-- 2 files changed, 2 insertions(+), 73 deletions(-) diff --git a/direct/src/plugin/p3dPythonMain.cxx b/direct/src/plugin/p3dPythonMain.cxx index 8231291c96..fd26a17dc0 100644 --- a/direct/src/plugin/p3dPythonMain.cxx +++ b/direct/src/plugin/p3dPythonMain.cxx @@ -16,10 +16,6 @@ #include #include -#include -#include -#include -#include #include // strrchr using namespace std; @@ -28,72 +24,6 @@ using namespace std; extern "C" { void CPSEnableForegroundOperation(ProcessSerialNumber* psn); } #endif -#ifdef _WIN32 -// Windows requires WinMain() for proper access to the console window. -// We'll wrap the main() function with our own startup WinMain(). -#define main local_main -int main(int argc, char *argv[]); - -// Returns a newly-allocated string representing the quoted argument -// beginning at p. Advances p to the first character following the -// close quote. -char * -parse_quoted_arg(char *&p) { - char quote = *p; - ++p; - string result; - - while (*p != '\0' && *p != quote) { - // TODO: handle escape characters? Not sure if we need to. - result += *p; - ++p; - } - if (*p == quote) { - ++p; - } - return strdup(result.c_str()); -} - -// Returns a newly-allocated string representing the unquoted argument -// beginning at p. Advances p to the first whitespace following the -// argument. -char * -parse_unquoted_arg(char *&p) { - string result; - while (*p != '\0' && !isspace(*p)) { - result += *p; - ++p; - } - return strdup(result.c_str()); -} - -WINAPI -WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { - char *command_line = GetCommandLine(); - - vector argv; - - char *p = command_line; - while (*p != '\0') { - if (*p == '"') { - char *arg = parse_quoted_arg(p); - argv.push_back(arg); - } else { - char *arg = parse_unquoted_arg(p); - argv.push_back(arg); - } - - // Skip whitespace. - while (*p != '\0' && isspace(*p)) { - ++p; - } - } - - assert(!argv.empty()); - return main(argv.size(), &argv[0]); -} -#endif // _WIN32 - //////////////////////////////////////////////////////////////////// // Function: main // Description: This is a trivial main() function that invokes diff --git a/direct/src/plugin/p3dSession.cxx b/direct/src/plugin/p3dSession.cxx index 6fee40fb26..7cf32cc290 100644 --- a/direct/src/plugin/p3dSession.cxx +++ b/direct/src/plugin/p3dSession.cxx @@ -1223,9 +1223,8 @@ win_create_process() { startup_info.hStdInput = GetStdHandle(STD_INPUT_HANDLE); startup_info.dwFlags |= STARTF_USESTDHANDLES; - // Since p3dpython is now a Windows graphical app, we want its - // window to be shown. - startup_info.wShowWindow = SW_SHOW; + // Make sure the "python" console window is hidden. + startup_info.wShowWindow = SW_HIDE; startup_info.dwFlags |= STARTF_USESHOWWINDOW; // If _keep_user_env, meaning not to change the current directory,