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]

(From OE-Core rev: d598f8d48e9b094af99effa7471d613b16ffa817)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Changqing Li
2018-11-14 17:46:03 +08:00
committed by Richard Purdie
parent 10270f4222
commit f027576193

View File

@@ -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