[mcclim-cvs] CVS mcclim

thenriksen thenriksen at common-lisp.net
Wed Jan 30 11:48:42 UTC 2008


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
 




More information about the Mcclim-cvs mailing list