]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oepydevshell-internal.py: decode only when readdata is valid
authorChangqing Li <changqing.li@windriver.com>
Wed, 14 Nov 2018 09:46:03 +0000 (17:46 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 16 Nov 2018 09:32:17 +0000 (09:32 +0000)
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 <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/oepydevshell-internal.py

index 04621ae8a137ae6f9edcd3bdbf920b2e82df0ef0..2f7d5d433e876839799761955bb042babe0f31a0 100755 (executable)
@@ -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