diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 295f6c41372d..df06440a9826 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -44,7 +44,7 @@ def _restore_foreground_window_at_end(): try: yield finally: - if mpl.rcParams['tk.window_focus']: + if foreground and mpl.rcParams['tk.window_focus']: _c_internal_utils.Win32_SetForegroundWindow(foreground) diff --git a/src/_c_internal_utils.cpp b/src/_c_internal_utils.cpp index 464aabcb2e3a..e118183ecc8b 100644 --- a/src/_c_internal_utils.cpp +++ b/src/_c_internal_utils.cpp @@ -111,7 +111,11 @@ static py::object mpl_GetForegroundWindow(void) { #ifdef _WIN32 - return py::capsule(GetForegroundWindow(), "HWND"); + if (HWND hwnd = GetForegroundWindow()) { + return py::capsule(hwnd, "HWND"); + } else { + return py::none(); + } #else return py::none(); #endif