Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv27756
Modified Files: frames.lisp panes.lisp Log Message: Go some way towards fixing the minibuffer debacle.
Drei will no longer attempt to create a minibuffer on its own pane.
Commands that need the minibuffer, when none is available, will fail somewhat gracefully.
Pointer documentation isn't broken yet, even with all the pointer-documentation-pane abuse I'm doing. I'll have to work on that.
--- /project/mcclim/cvsroot/mcclim/frames.lisp 2008/01/27 22:24:07 1.130 +++ /project/mcclim/cvsroot/mcclim/frames.lisp 2008/01/30 11:48:40 1.131 @@ -1229,7 +1229,6 @@ (output-record-parent documentation-record)) (redisplay documentation-record *pointer-documentation-output*) (progn - (window-clear *pointer-documentation-output*) (setf documentation-record (updating-output (*pointer-documentation-output*) (updating-output (*pointer-documentation-output* --- /project/mcclim/cvsroot/mcclim/panes.lisp 2008/01/27 22:24:07 1.187 +++ /project/mcclim/cvsroot/mcclim/panes.lisp 2008/01/30 11:48:40 1.188 @@ -27,7 +27,7 @@ ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;;; Boston, MA 02111-1307 USA.
-;;; $Id: panes.lisp,v 1.187 2008/01/27 22:24:07 thenriksen Exp $ +;;; $Id: panes.lisp,v 1.188 2008/01/30 11:48:40 thenriksen Exp $
(in-package :clim-internals)
@@ -2761,8 +2761,19 @@ (defmethod stream-accept :before ((stream pointer-documentation-pane) type &rest args) (declare (ignore args)) - (setf (background-message stream) nil) - (redisplay-frame-pane (pane-frame stream) stream :force-p t)) + (window-clear stream) + (when (background-message stream) + (setf (background-message stream) nil) + (redisplay-frame-pane (pane-frame stream) stream))) + +(defmethod stream-accept :around ((pane pointer-documentation-pane) type &rest args) + (declare (ignore args)) + (unwind-protect (loop + (handler-case + (with-input-focus (pane) + (return (call-next-method))) + (parse-error () nil))) + (window-clear pane)))
;;; CONSTRUCTORS