Update of /project/mcclim/cvsroot/mcclim/Backends/CLX In directory common-lisp.net:/tmp/cvs-serv12975
Modified Files: port.lisp Log Message: Add handler-case for destroy-port to handle stream-errors thrown by xlib:close-display. Required to destroy ports with a connection already closed/reseted by the X server (xkilled client or network drop outs)
Date: Thu Jan 12 22:08:08 2006 Author: cfruhwirth
Index: mcclim/Backends/CLX/port.lisp diff -u mcclim/Backends/CLX/port.lisp:1.115 mcclim/Backends/CLX/port.lisp:1.116 --- mcclim/Backends/CLX/port.lisp:1.115 Wed Jan 11 09:30:56 2006 +++ mcclim/Backends/CLX/port.lisp Thu Jan 12 22:08:06 2006 @@ -536,7 +536,10 @@ (xlib:unmap-window (sheet-direct-mirror mirror)) )
(defmethod destroy-port :before ((port clx-port)) - (xlib:close-display (clx-port-display port))) + (handler-case + (xlib:close-display (clx-port-display port)) + (stream-error () + (xlib:close-display (clx-port-display port) :abort t))))
(defmethod port-motion-hints ((port clx-port) (sheet mirrored-sheet-mixin)) (let ((event-mask (xlib:window-event-mask (sheet-direct-mirror sheet))))