Hello,

 On a system where gpm_mev is installed but gpm is not running, I am
still getting exception on startup of any example where TERM=linux
(raw console for example) with version 0.9.9.1.

 Attached patch fixes the problem for me.


Traceback (most recent call last):
  File "calc.py", line 819, in <module>
    main()
  File "calc.py", line 816, in main
    CalcDisplay().main()
  File "calc.py", line 578, in main
    self.loop.run()
  File "/usr/lib/python2.6/site-packages/urwid/main_loop.py", line 170,
in run self.screen.run_wrapper(self._run)
  File "/usr/lib/python2.6/site-packages/urwid/raw_display.py", line
234, in run_wrapper return fn()
  File "/usr/lib/python2.6/site-packages/urwid/main_loop.py", line 188,
in _run self.event_loop.run()
  File "/usr/lib/python2.6/site-packages/urwid/main_loop.py", line 498,
in run self._loop()
  File "/usr/lib/python2.6/site-packages/urwid/main_loop.py", line 515,
in _loop ready, w, err = select.select(fds, [], fds)
select.error: (9, 'Bad file descriptor')


 regards,
-- 
 Onur Küçük                                      Knowledge speaks,
 <onur.--.-.pardus.org.tr>                       but wisdom listens

diff -Nur urwid-0.9.9.1-old/urwid/raw_display.py urwid-0.9.9.1/urwid/raw_display.py
--- urwid-0.9.9.1-old/urwid/raw_display.py	2010-07-01 20:05:34.100028116 +0300
+++ urwid-0.9.9.1/urwid/raw_display.py	2010-07-01 20:05:49.698028346 +0300
@@ -400,7 +400,7 @@
     def _get_gpm_codes(self):
         codes = []
         try:
-            while self.gpm_mev is not None:
+            while self.gpm_mev is not None and self.gpm_event_pending:
                 codes.extend(self._encode_gpm_event())
         except IOError, e:
             if e.args[0] != 11:
_______________________________________________
Urwid mailing list
[email protected]
http://lists.excess.org/mailman/listinfo/urwid

Reply via email to