Add call to leave-gtk-main in gtk-demo:demo
[cl-gtk2.git] / gtk / gtk.demo.lisp
index 343b967..e514969 100644 (file)
        (:fn "Testing GtkUIManager" test-ui-manager)
        (:fn "GtkFontChooser" test-font-chooser)))
 
+(defun clear-text-tag-table (table)
+  (let (tags)
+    (text-tag-table-foreach table
+                            (lambda (tag)
+                              (push tag tags)))
+    (iter (for tag in tags)
+          (text-tag-table-remove table tag))))
+
 (defun fill-demo-text-buffer (buffer text-view &optional (page 'index))
   (declare (ignorable text-view))
-  (setf (text-buffer-tag-table buffer) (make-instance 'text-tag-table))
+  (clear-text-tag-table (text-buffer-tag-table buffer))
   (setf (text-buffer-text buffer) "")
   (text-tag-table-add (text-buffer-tag-table buffer) (make-instance 'text-tag :name "bold" :weight 700))
   (labels ((insert-text (text)
           :hscrollbar-policy :automatic
           :vscrollbar-policy :automatic
           (:expr (make-demo-text-view))))
+      (connect-signal w "destroy"
+                      (lambda (w)
+                        (declare (ignore w))
+                        (leave-gtk-main)))
       (widget-show w))))
 
 (defun test ()