From: Changqing Li Date: Wed, 14 Nov 2018 09:46:03 +0000 (+0800) Subject: oepydevshell-internal.py: decode only when readdata is valid X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~16170 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d598f8d48e9b094af99effa7471d613b16ffa817;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git oepydevshell-internal.py: decode only when readdata is valid fix below problem: pydevshell raises exception when maximize the python shell window. when click maximize, rlist of select return ready object, but the pty.read is None, so throw exception of 'NoneType' object has no attribute 'decode', change to only decode when readdata is valid. [YOCTO #11875] Signed-off-by: Changqing Li Signed-off-by: Richard Purdie --- diff --git a/scripts/oepydevshell-internal.py b/scripts/oepydevshell-internal.py index 04621ae8a13..2f7d5d433e8 100755 --- a/scripts/oepydevshell-internal.py +++ b/scripts/oepydevshell-internal.py @@ -63,7 +63,9 @@ try: (ready, _, _) = select.select([pty, sys.stdin], writers , [], 0) try: if pty in ready: - i = i + pty.read().decode('utf-8') + readdata = pty.read() + if readdata: + i = i + readdata.decode('utf-8') if i: # Write a page at a time to avoid overflowing output # d.keys() is a good way to do that