[mcclim-cvs] CVS update: mcclim/Backends/CLX/port.lisp
Clemens Fruhwirth
cfruhwirth at common-lisp.net
Thu Jan 12 21:08:14 UTC 2006
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))))
More information about the Mcclim-cvs
mailing list