[climacs-cvs] CVS climacs

thenriksen thenriksen at common-lisp.net
Mon Jan 21 17:08:48 UTC 2008


Update of /project/climacs/cvsroot/climacs
In directory clnet:/tmp/cvs-serv18518

Modified Files:
	typeout.lisp 
Log Message:
Fixed redisplay issue for typeout views.


--- /project/climacs/cvsroot/climacs/typeout.lisp	2008/01/21 15:15:44	1.2
+++ /project/climacs/cvsroot/climacs/typeout.lisp	2008/01/21 17:08:48	1.3
@@ -53,16 +53,20 @@
       (call-next-method)))
 
 (defmethod display-drei-view-contents ((pane pane) (view typeout-view))
-  
-  (with-output-recording-options (pane :record nil :draw t)
-    (with-bounding-rectangle* (x1 y1 x2 y2) (or (pane-viewport pane)
-                                                pane)
-      (draw-rectangle* pane x1 y1 x2 y2 :ink +background-ink+))
-    (replay-output-record (output-history view) pane))
-  (unless (eq (output-record-parent (output-history view))
-              (stream-output-history pane))
-    (setf (output-record-parent (output-history view)) nil)
-    (add-output-record (output-history view) (stream-output-history pane)))
+  (when (or (dirty view)
+            (not (eq (output-record-parent (output-history view))
+                     (stream-output-history pane))))
+    (with-output-recording-options (pane :record nil :draw t)
+      (with-bounding-rectangle* (x1 y1 x2 y2) (or (pane-viewport-region pane)
+                                                  (sheet-region pane))
+        (draw-rectangle* pane x1 y1 x2 y2 :ink +background-ink+))
+      (replay-output-record (output-history view) pane
+                            (or (pane-viewport-region pane)
+                                (sheet-region pane))))
+    (unless (eq (output-record-parent (output-history view))
+                (stream-output-history pane))
+      (setf (output-record-parent (output-history view)) nil)
+      (add-output-record (output-history view) (stream-output-history pane))))
   (setf (dirty view) nil))
 
 (defmethod bounding-rectangle* ((view typeout-view))




More information about the Climacs-cvs mailing list