[mcclim-cvs] CVS mcclim
thenriksen
thenriksen at common-lisp.net
Sun Dec 17 00:29:14 UTC 2006
Update of /project/mcclim/cvsroot/mcclim
In directory clnet:/tmp/cvs-serv21353
Modified Files:
frames.lisp
Log Message:
Support pane-names in `redisplay-frame-pane', patch from Raymond Toy.
--- /project/mcclim/cvsroot/mcclim/frames.lisp 2006/07/01 21:00:31 1.120
+++ /project/mcclim/cvsroot/mcclim/frames.lisp 2006/12/17 00:29:14 1.121
@@ -368,22 +368,25 @@
(defmethod redisplay-frame-pane :around ((frame application-frame) pane
&key force-p)
- (multiple-value-bind (redisplayp clearp)
- (pane-needs-redisplay pane)
- (when force-p
- (setq redisplayp (or redisplayp t)
- clearp t))
- (when redisplayp
- (let ((hilited (frame-hilited-presentation frame)))
- (when hilited
- (highlight-presentation-1 (car hilited) (cdr hilited) :unhighlight)
- (setf (frame-hilited-presentation frame) nil)))
- (with-possible-double-buffering (frame pane)
- (when clearp
- (window-clear pane))
- (call-next-method))
- (unless (or (eq redisplayp :command-loop) (eq redisplayp :no-clear))
- (setf (pane-needs-redisplay pane) nil)))))
+ (let ((pane-object (if (typep pane 'pane)
+ pane
+ (find-pane-named frame pane))))
+ (multiple-value-bind (redisplayp clearp)
+ (pane-needs-redisplay pane-object)
+ (when force-p
+ (setq redisplayp (or redisplayp t)
+ clearp t))
+ (when redisplayp
+ (let ((hilited (frame-hilited-presentation frame)))
+ (when hilited
+ (highlight-presentation-1 (car hilited) (cdr hilited) :unhighlight)
+ (setf (frame-hilited-presentation frame) nil)))
+ (with-possible-double-buffering (frame pane-object)
+ (when clearp
+ (window-clear pane-object))
+ (call-next-method))
+ (unless (or (eq redisplayp :command-loop) (eq redisplayp :no-clear))
+ (setf (pane-needs-redisplay pane-object) nil))))))
(defmethod run-frame-top-level ((frame application-frame)
&key &allow-other-keys)
@@ -561,7 +564,6 @@
command-name)
nil))))
-
(defmethod make-pane-1 :around (fm (frame standard-application-frame) type
&rest args
&key (input-buffer nil input-buffer-p)
More information about the Mcclim-cvs
mailing list