From 9b9d58f0d88b338eb8d2ae0da5cd91d60d1b0e39 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 28 Jun 2018 12:29:44 -0400 Subject: [PATCH] bpo-31546: Fix input hook integration (GH-7978) --- .../next/Windows/2018-06-27-23-33-54.bpo-31546.zJlap-.rst | 3 +++ Parser/myreadline.c | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 Misc/NEWS.d/next/Windows/2018-06-27-23-33-54.bpo-31546.zJlap-.rst diff --git a/Misc/NEWS.d/next/Windows/2018-06-27-23-33-54.bpo-31546.zJlap-.rst b/Misc/NEWS.d/next/Windows/2018-06-27-23-33-54.bpo-31546.zJlap-.rst new file mode 100644 index 00000000000..8f487632ce0 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2018-06-27-23-33-54.bpo-31546.zJlap-.rst @@ -0,0 +1,3 @@ +Restore running PyOS_InputHook while waiting for user input at the prompt. +The restores integration of interactive GUI windows (such as Matplotlib +figures) with the prompt on Windows. diff --git a/Parser/myreadline.c b/Parser/myreadline.c index ab6bd4e8300..2aa3bef2b0b 100644 --- a/Parser/myreadline.c +++ b/Parser/myreadline.c @@ -114,6 +114,9 @@ _PyOS_WindowsConsoleReadline(HANDLE hStdIn) wbuf = wbuf_local; wbuflen = sizeof(wbuf_local) / sizeof(wbuf_local[0]) - 1; while (1) { + if (PyOS_InputHook != NULL) { + (void)(PyOS_InputHook)(); + } if (!ReadConsoleW(hStdIn, &wbuf[total_read], wbuflen - total_read, &n_read, NULL)) { err = GetLastError(); goto exit;