Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 13c962a

Browse files
authored
Merge pull request #12605 from meeseeksmachine/auto-backport-of-pr-12603-on-v3.0.x
Backport PR #12603 on branch v3.0.x (FIX: don't import macosx to check if eventloop running)
2 parents 1b0d3aa + 09e8df9 commit 13c962a

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

lib/matplotlib/backends/__init__.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,8 @@ def _get_running_interactive_framework():
4848
if frame.f_code == tkinter.mainloop.__code__:
4949
return "tk"
5050
frame = frame.f_back
51-
try:
52-
from matplotlib.backends import _macosx
53-
except ImportError:
54-
pass
55-
else:
56-
if _macosx.event_loop_is_running():
51+
if 'matplotlib.backends._macosx' in sys.modules:
52+
if sys.modules["matplotlib.backends._macosx"].event_loop_is_running():
5753
return "macosx"
5854
if sys.platform.startswith("linux") and not os.environ.get("DISPLAY"):
5955
return "headless"

src/_macosx.m

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2580,9 +2580,21 @@ static bool verify_framework(void)
25802580
ProcessSerialNumber psn;
25812581
/* These methods are deprecated, but they don't require the app to
25822582
have started */
2583+
#ifdef COMPILING_FOR_10_6
2584+
NSApp = [NSApplication sharedApplication];
2585+
NSApplicationActivationPolicy activationPolicy = [NSApp activationPolicy];
2586+
switch (activationPolicy) {
2587+
case NSApplicationActivationPolicyRegular:
2588+
case NSApplicationActivationPolicyAccessory:
2589+
return true;
2590+
case NSApplicationActivationPolicyProhibited:
2591+
break;
2592+
}
2593+
#else
25832594
if (CGMainDisplayID()!=0
25842595
&& GetCurrentProcess(&psn)==noErr
25852596
&& SetFrontProcess(&psn)==noErr) return true;
2597+
#endif
25862598
PyErr_SetString(PyExc_ImportError,
25872599
"Python is not installed as a framework. The Mac OS X backend will "
25882600
"not be able to function correctly if Python is not installed as a "

0 commit comments

Comments
 (0)