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

Skip to content

Commit 4aef735

Browse files
committed
Fix issue with empty line in ps backend
1 parent a139e52 commit 4aef735

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

lib/matplotlib/backends/backend_ps.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -665,8 +665,9 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None):
665665
curr_stream[1].append(
666666
(item.x, item.ft_object.get_glyph_name(item.glyph_idx))
667667
)
668-
# append the last entry
669-
stream.append(curr_stream)
668+
# append the last entry if exists
669+
if curr_stream:
670+
stream.append(curr_stream)
670671

671672
self.set_color(*gc.get_rgb())
672673

lib/matplotlib/tests/test_backend_ps.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,17 @@ def test_linedash():
256256
assert buf.tell() > 0
257257

258258

259+
def test_empty_line():
260+
# Smoke-test for gh#23954
261+
figure = Figure()
262+
ax = figure.add_subplot(111)
263+
ax.set_title('\nLower title') # this would cause an error as well
264+
ax.annotate(text='\nLower label', xy=(0, 0))
265+
buf = io.BytesIO()
266+
figure.savefig(buf, format='eps')
267+
figure.savefig(buf, format='ps')
268+
269+
259270
def test_no_duplicate_definition():
260271

261272
fig = Figure()

0 commit comments

Comments
 (0)