Skip to content

Commit fa8687f

Browse files
committed
ENH: make current_backend_module() also ensure one is selected
1 parent 3f57e93 commit fa8687f

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

mpl_gui/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ def show(figs, *, block=None, timeout=0):
5959
6060
"""
6161
# TODO handle single figure
62-
if _cbm() is None:
63-
# set up the backend!
64-
select_gui_toolkit()
62+
63+
# call this to ensure a backend is indeed selected
64+
backend = _cbm()
6565
managers = []
6666
for fig in figs:
6767
if fig.canvas.manager is not None:
@@ -78,7 +78,7 @@ def show(figs, *, block=None, timeout=0):
7878

7979
if block and len(managers):
8080
if timeout == 0:
81-
_cbm().Show().mainloop()
81+
backend.Show().mainloop()
8282
elif len(managers):
8383
manager, *_ = managers
8484
manager.canvas.start_event_loop(timeout=timeout)

mpl_gui/_manage_backend.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import logging
44

55
from matplotlib import cbook, rcsetup
6-
from matplotlib import rcParamsOrig, rcParams, rcParamsDefault
6+
from matplotlib import rcParams, rcParamsDefault
7+
import matplotlib.backend_bases
8+
79

810
_backend_mod = None
911

@@ -12,8 +14,14 @@
1214

1315
def current_backend_module():
1416
"""
15-
Get the currently active backend module
17+
Get the currently active backend module, selecting one if needed.
18+
19+
Returns
20+
-------
21+
matplotlib.backend_bases._Backend
1622
"""
23+
if _backend_mod is None:
24+
select_gui_toolkit()
1725
return _backend_mod
1826

1927

0 commit comments

Comments
 (0)