[Python-checkins] cpython (3.3): Closes #17290: Loading cursor now does not persist when launching GUI scripts.
vinay.sajip
python-checkins at python.org
Tue Feb 26 17:29:59 CET 2013
http://hg.python.org/cpython/rev/5fddaa709d6b
changeset: 82401:5fddaa709d6b
branch: 3.3
parent: 82399:2678fd10f689
user: Vinay Sajip <vinay_sajip at yahoo.co.uk>
date: Tue Feb 26 16:29:06 2013 +0000
summary:
Closes #17290: Loading cursor now does not persist when launching GUI scripts.
files:
PC/launcher.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/PC/launcher.c b/PC/launcher.c
--- a/PC/launcher.c
+++ b/PC/launcher.c
@@ -500,6 +500,21 @@
STARTUPINFOW si;
PROCESS_INFORMATION pi;
+#if defined(_WINDOWS)
+ // When explorer launches a Windows (GUI) application, it displays
+ // the "app starting" (the "pointer + hourglass") cursor for a number
+ // of seconds, or until the app does something UI-ish (eg, creating a
+ // window, or fetching a message). As this launcher doesn't do this
+ // directly, that cursor remains even after the child process does these
+ // things. We avoid that by doing a simple post+get message.
+ // See http://bugs.python.org/issue17290 and
+ // https://bitbucket.org/vinay.sajip/pylauncher/issue/20/busy-cursor-for-a-long-time-when-running
+ MSG msg;
+
+ PostMessage(0, 0, 0, 0);
+ GetMessage(&msg, 0, 0, 0);
+#endif
+
debug(L"run_child: about to run '%s'\n", cmdline);
job = CreateJobObject(NULL, NULL);
ok = QueryInformationJobObject(job, JobObjectExtendedLimitInformation,
@@ -1362,4 +1377,4 @@
return process(argc, argv);
}
-#endif
\ No newline at end of file
+#endif
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list