From 5f0baa397182a7ce2e2b500d44898d202164e598 Mon Sep 17 00:00:00 2001 From: jojoyess Date: Fri, 23 May 2025 20:02:05 +0200 Subject: [PATCH 1/2] fix for echo_stdout_stderr attribute --- FreeSimpleGUI/elements/multiline.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/FreeSimpleGUI/elements/multiline.py b/FreeSimpleGUI/elements/multiline.py index 178c4525..6b9d7cb3 100644 --- a/FreeSimpleGUI/elements/multiline.py +++ b/FreeSimpleGUI/elements/multiline.py @@ -484,19 +484,19 @@ def restore_stderr(self): def write(self, txt): """ - Called by Python (not tkinter?) when stdout or stderr wants to write + Called by Python when stdout or stderr has been redirected and wants to write + Mirrors output to the console if echo_stdout_stderr is enabled :param txt: text of output :type txt: (str) """ try: self.update(txt, append=True) - # if need to echo, then send the same text to the destinatoin that isn't thesame as this one if self.echo_stdout_stderr: - if sys.stdout != self: - sys.stdout.write(txt) - elif sys.stderr != self: - sys.stderr.write(txt) + if hasattr(Window, "_original_stdout") and Window._original_stdout: + Window._original_stdout.write(txt) + elif hasattr(Window, "_original_stderr") and Window._original_stderr: + Window._original_stderr.write(txt) except: pass From c7b991018eeaf248d28e77806aa404e464f627bf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 23 May 2025 18:29:59 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- FreeSimpleGUI/elements/multiline.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FreeSimpleGUI/elements/multiline.py b/FreeSimpleGUI/elements/multiline.py index 6b9d7cb3..4cf0a4cd 100644 --- a/FreeSimpleGUI/elements/multiline.py +++ b/FreeSimpleGUI/elements/multiline.py @@ -493,9 +493,9 @@ def write(self, txt): try: self.update(txt, append=True) if self.echo_stdout_stderr: - if hasattr(Window, "_original_stdout") and Window._original_stdout: + if hasattr(Window, '_original_stdout') and Window._original_stdout: Window._original_stdout.write(txt) - elif hasattr(Window, "_original_stderr") and Window._original_stderr: + elif hasattr(Window, '_original_stderr') and Window._original_stderr: Window._original_stderr.write(txt) except: pass