It turns out this problem never happens if I only call START-APP from
the listener.  As soon as I call it from the LispWorks editor,
something happens that prevents me from calling START-APP again.  It
seems like the main difference between evaluating a form at the
listener and in the editor is that LispWorks starts a new thread for
forms evaluated in the editor.  Perhaps this interferes with Gtk
somehow.  I can at least get some work done with this:

(defun gtk-demo (&optional dbg)
(unless (search "Listener" (mp:process-name mp:*current-process*))
  (error "Run only from the listener"))
(cells-gtk-init)
(cells-gtk:start-app 'tets-gtk :debug dbg))

but that's not solving the problem.  If this (i.e. spawning a new
thread  to run gtk-main breaking future calls to it) rings a bell with
anyone, let me know.  I'll post here if I find something that works.

Bill

On 8/10/06, Peter Denno <[EMAIL PROTECTED]> wrote:
On Thursday 10 August 2006 13:26, Bill Atkins wrote:
> Is anyone using Cells-gtk successfully on Lispworks 5.0 (32-bit Linux,
> in particular)?  I can run my application once, but if I close the
> main window and then attempt to run it again, I get "Evaluating..." in
> the echo area and no window appears.
>
> I eventually took part of the test-gtk.lisp code, narrowed it down to
> the simplest case and tried that.  It still didn't work.  Strangely
> enough, loading the "test-gtk" package and running TEST-GTK:GTK-DEMO
> does not have this problem - that is, I can run that as many times as
> I like, and I get a window each time.  SBCL, however, seems to handle
> both of these without a problem.  I've pasted the source code to my
> test case and also the debug output from the first run (ie the run
> that works) and from the second run, where LispWorks seems to be
> perpetually "Evaluating...".
>
> Here is the paste: http://paste.lisp.org/display/23932


Hi,

You might have a look at start-app in root/cells-gtk/gtk-app.lisp. I coded the
use of restarts in that code. Despite reading up abot restarts in Practical
Common Lisp, I still don't think I quite understand them. So that code is
suspect, especially because it has #+lispworks in it. Maybe you could try the
code in start-app that currently is #-lispworks. It simply runs gtk-main. The
idea of the the #+lispworks alternative (stuff with
process-wait-with-timeout) is to give other processes (slime in particular) a
chance to run.

I don't have LW 5.0 yet so I probably can't be much help.



--
- Best regards,
   Peter
_______________________________________________
cells-gtk-devel site list
[email protected]
http://common-lisp.net/mailman/listinfo/cells-gtk-devel



--
Bill Atkins
_______________________________________________
cells-gtk-devel site list
[email protected]
http://common-lisp.net/mailman/listinfo/cells-gtk-devel

Reply via email to