Hi,
I'm trying to finish a studient project : awindow manager entierly in
common lisp
This is a question about CLX (using CMU CL) :
I wanted to have clos-objects in the clx-events, so i wrote a class for
every events and then i wrote a new managing event function :
(defun get-next-event display &key timeout peek-p discard-p
(force-output-p t)
(process-event display :handler #'handler-function ...))
(defun handler-function (&rest event-slots
&key display event-key
send-event-p
;;all possible
clx-key for all clx-events-slots
& allow-other-keys)
;;then i use a macro who do the event-instance and return it)
It does work well until i receive the configure-request event. This
event has a slot call stack-mode in the documentation of clx and of the
xlib. But if you try to get this event you will see that stack-mode
isn't the good key. stack is the good key :
if you try (event-case (display ...)
(:configure-request (stack-mode ...)
(...))
( ... ))
you will do a segmantation violation. Replace stack-mode for stack
and everything works perfectly.
But the problem is if i use the event-handler mechanism clx do himself
all the call and do the seg-fault himself.
My question is does somebody had already found this bug, and so is there
any way to correct it simply ?