[mcclim-devel] issues (bug?) with with-tab-layout in beirc

rpgoldman at real-time.com rpgoldman at real-time.com
Tue Apr 4 19:59:37 UTC 2006


I was trying to debug a space requirement issue in beirc, so I wanted
to grab hold of its tab-layout-pane (which is named 'query).

Oddly, I find that (get-frame-pane <frame> 'query) returns nil.

I managed to use a back door to find the pane, and it *does* have a
name:

BEIRC(31): (slot-value tab-pane 'climi::name)
QUERY

It was defined as follows:

(:layouts
   (default
       (vertically ()
         (with-tab-layout ('receiver-pane :name 'query)
           ("*Not Connected*" server 'receiver-pane))
         ;; (68 io) ;; no drop-shadow prompt
         (make-pane 'clim-extensions:box-adjuster-gadget)
         io
         (20 pointer-doc)
         (20                            ;<-- Sigh! Bitrot!
          status-bar))))

The with-tab-layout does have the :name option, and it invokes
make-pane.  AFAICT, make-pane should stuff *application-frame* into an
arglist and invoke make-pane-1, which should stash this pane away in
the named-panes slot of the *application-frame*.  But this is
evidently not happening (or, I suppose, that slot could be
overwritten).  Alternatively, I suppose that *application-frame* might
be unbound at the time this with-tab-layout gets evaluated?

I'm pretty sure that this is a bug, and that the tab-layout pane IS
intended to be exposed to get-frame-pane.  But I'm not sure how to fix
it, myself.

Thanks,
R



More information about the mcclim-devel mailing list