[cells-gtk-cvs] CVS root/cells-gtk
pdenno
pdenno at common-lisp.net
Thu Feb 16 18:18:56 UTC 2006
Update of /project/cells-gtk/cvsroot/root/cells-gtk
In directory common-lisp:/tmp/cvs-serv10807/root/cells-gtk
Modified Files:
widgets.lisp
Log Message:
Cleanup timeout-add for CFFI
--- /project/cells-gtk/cvsroot/root/cells-gtk/widgets.lisp 2006/02/11 03:39:10 1.16
+++ /project/cells-gtk/cvsroot/root/cells-gtk/widgets.lisp 2006/02/16 18:18:56 1.17
@@ -233,15 +233,16 @@
(if r2 1 0)))
(defun timeout-add (milliseconds function)
- (let ((id (gtk-global-callback-register
+ "Call FUNCTION repeatedly, waiting MILLISECONDS between calls.
+ Stops calling when function return false."
+ (let* ((id (gtk-global-callback-register
(lambda ()
;;(print :timeout-add-global)
(let ((r (with-gdk-threads
- (funcall function))))
+ (funcall function))))
(trc nil "timeout func returning" r)
r))))
- (c-id (fgn-alloc :int 1)))
- (setf (cffi:mem-aref c-id :int 0) (coerce id 'integer))
+ (c-id (cffi:foreign-alloc :int :initial-element id)))
(trc nil "timeout-add > passing cb data, *data" c-id (cffi:mem-aref c-id :int 0))
(g-timeout-add milliseconds (cffi:get-callback 'timeout-handler-callback) c-id)))
@@ -344,7 +345,7 @@
(def-c-output icon ((self window))
(when new-value
- (gtk-window-set-icon-from-file (id self) new-value c-null)))
+ (gtk-window-set-icon-from-file (id self) new-value +c-null+)))
(def-c-output decorated ((self window))
(gtk-window-set-decorated (id self) new-value))
More information about the Cells-gtk-cvs
mailing list