[climacs-cvs] CVS update: climacs/slidemacs-gui.lisp

Brian Mastenbrook bmastenbrook at common-lisp.net
Fri Jun 17 01:21:22 UTC 2005


Update of /project/climacs/cvsroot/climacs
In directory common-lisp.net:/tmp/cvs-serv32229

Modified Files:
	slidemacs-gui.lisp 
Log Message:
Cheap way of working around some possible McCLIM display bugs

Date: Fri Jun 17 03:21:22 2005
Author: bmastenbrook

Index: climacs/slidemacs-gui.lisp
diff -u climacs/slidemacs-gui.lisp:1.9 climacs/slidemacs-gui.lisp:1.10
--- climacs/slidemacs-gui.lisp:1.9	Fri Jun 17 03:17:27 2005
+++ climacs/slidemacs-gui.lisp	Fri Jun 17 03:21:22 2005
@@ -34,6 +34,7 @@
 
 (defvar *current-slideset*)
 (defvar *did-display-a-slide*)
+(defvar *last-slide-displayed* nil)
 
 (defun slidemacs-entity-string (entity)
   (coerce (buffer-sequence (buffer entity)
@@ -151,6 +152,9 @@
     (when (and (mark>= point (start-offset parse-tree))
                (mark<= point (end-offset parse-tree))) 
       (when (boundp '*did-display-a-slide*)
+        (when (not (eq *last-slide-displayed* parse-tree))
+          (setf *last-slide-displayed* parse-tree)
+          (window-erase-viewport pane))
         (setf *did-display-a-slide* t))
       (with-slots (slidemacs-slide-name nonempty-list-of-bullets)
           parse-tree
@@ -170,6 +174,9 @@
     (when (and (mark>= point (start-offset parse-tree))
                (mark<= point (end-offset parse-tree)))
       (when (boundp '*did-display-a-slide*)
+        (when (not (eq *last-slide-displayed* parse-tree))
+          (setf *last-slide-displayed* parse-tree)
+          (window-erase-viewport pane))
         (setf *did-display-a-slide* t))
       (with-slots (slidemacs-slide-name list-of-roots list-of-edges)
           parse-tree




More information about the Climacs-cvs mailing list