Skip to content

[3.15] gh-155974: Restore the window attributes when a curses write fails (GH-155975) - #156136

Open
miss-islington wants to merge 1 commit into
python:3.15from
miss-islington:backport-83531fd-3.15
Open

[3.15] gh-155974: Restore the window attributes when a curses write fails (GH-155975)#156136
miss-islington wants to merge 1 commit into
python:3.15from
miss-islington:backport-83531fd-3.15

Conversation

@miss-islington

@miss-islington miss-islington commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

addstr(), addnstr(), insstr() and insnstr() set the window rendition to
the caller's attr, write, then restore the previous rendition. Since
30dde1e the restore sits below an early return taken when the write
fails, so a failed write leaves the caller's attr on the window and
drops whatever the application had set with attrset().

Restore the rendition first and report the write error afterwards. A
wattrset() failure is still reported when the write itself succeeded.
(cherry picked from commit 83531fd)

Co-authored-by: Vyron Vasileiadis hi@fedonman.com

…ils (pythonGH-155975)

addstr(), addnstr(), insstr() and insnstr() set the window rendition to
the caller's attr, write, then restore the previous rendition.  Since
30dde1e the restore sits below an early return taken when the write
fails, so a failed write leaves the caller's attr on the window and
drops whatever the application had set with attrset().

Restore the rendition first and report the write error afterwards.  A
wattrset() failure is still reported when the write itself succeeded.
(cherry picked from commit 83531fd39f24f873671c38b981061afe1730613f)

Co-authored-by: Vyron Vasileiadis <hi@fedonman.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants