From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 28 Jun 2018 17:47:54 +0000 (-0700) Subject: bpo-31546: Fix input hook integration (GH-7978) X-Git-Tag: v3.6.7rc1~228 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0ebd1bc94a941a5044e26de946c1100d652dfe46;p=python bpo-31546: Fix input hook integration (GH-7978) (cherry picked from commit 9b9d58f0d88b338eb8d2ae0da5cd91d60d1b0e39) Co-authored-by: Thomas A Caswell --- 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 9f3c2e343c..bb02631357 100644 --- a/Parser/myreadline.c +++ b/Parser/myreadline.c @@ -119,6 +119,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;