[cells-gtk-devel] unable to quit gtk-app bug in sbcl, and patch to fix
wagwilk at telusplanet.net
wagwilk at telusplanet.net
Wed May 16 05:56:55 UTC 2007
I've found what I think is a bug.
With the latest cvs version of cells-gtk, and running a recent version of SBCL,
when you quit the GTK app, the program gets stuck on line 124 of gtk-app.lisp:
gtk-app.lisp-122- ;; clean-up forms (takes down application).
gtk-app.lisp-123- (not-to-be app)
gtk-app.lisp:124: (loop while (> (gtk-main-level) 0) do (gtk-main-quit))
gtk-app.lisp-125- ;; Next is a work-around for a problem with gtk and
lispwork-created .exe files
gtk-app.lisp-126- #+(and Lispworks win32)(loop for i from 1 to 30 do
(gtk-main-quit))
gtk-app.lisp-127- (loop while (gtk-events-pending) do
(gtk-main-iteration-do nil)))))))
I get this output when I turn on debugging.
Calling (gtk-main-level )
(gtk-main-level ) returns 1
Calling (gtk-main-quit )
(gtk-main-quit ) returns NIL
Calling (gtk-main-level )
(gtk-main-level ) returns 1
Calling (gtk-main-quit )
(gtk-main-quit ) returns NIL
Calling (gtk-main-level )
(gtk-main-level ) returns 1
Calling (gtk-main-quit )
...
To fix, I replaced line 124 with this line:
(loop for i below (gtk-main-level)
do (gtk-main-quit))
Which seems to make the gtk-app exit correctly.
Also, if anybody is on Gentoo, I've made some ebuilds for cells gtk, both the
latest tarball and CVS here: http://www3.telus.net/public/thomasw2/ebuilds.html
Cheers,
Warren Wilkinson
More information about the cells-gtk-devel
mailing list