From: Thomas A Caswell Date: Thu, 28 Jun 2018 16:29:44 +0000 (-0400) Subject: bpo-31546: Fix input hook integration (GH-7978) X-Git-Tag: v3.8.0a1~1471 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9b9d58f0d88b338eb8d2ae0da5cd91d60d1b0e39;p=python bpo-31546: Fix input hook integration (GH-7978) --- 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 0000000000..8f487632ce --- /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 ab6bd4e830..2aa3bef2b0 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;