[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: WDEF in Lisp!

Thanx Bill!

> Another probable problem with your DEFPASCAL WDEF code is that
> a WDEF is called for hit testing when you click on a window and
> the Finder is the active application. This can callback to MCL

I guess that's a secret I could never have found out on my own,
however adding a few extra instructions the jmp.l abs.l instruction
isn't a big deal.  How would I find out if the garbage collector
is running from the assembly code?  preferebly, MCL should set
some gestalt selector and result for this... does ccl::MAKE-WINDOID-WDEF
modify the def-pascal code in some way?

> (defvar *windoid-wdef-handle*)
> (def-load-pointers windoid-wdef-handle ()
>   (setq *windoid-wdef-handle* (ccl::make-wdef-handle ccl::windoid-wdef)))

you could do things this way, but resource id's are commonly useed
in resource templates, and as parameters to control manager and
window manager routines pick which WDEF/CDEF/MDEF/LDEF is to be used
automatically. And, since the different managers expect the code
to be contained in a resource,  there is no guarantee that some of
the resource manager calls don't get called on it...