This patch makes it possible to pass pointers that are really integers 
in disguise in the data fields of a user event so that you can get them 
back out and translate them back to integers (where they can be used as 
keys into a table of objects you actually care about). It works for me; 
if no one sees anything wrong with it, maybe a committer can put it in.

-Peter

Index: lispbuilder-sdl/base/events.lisp
===================================================================
--- lispbuilder-sdl/base/events.lisp    (revision 519)
+++ lispbuilder-sdl/base/events.lisp    (working copy)
@@ -540,10 +540,10 @@
                                     (cffi:foreign-slot-value ,sdl-event 
'sdl-cffi::Sdl-User-Event 
'sdl-cffi::code)))
                                 (:data1
                                  `(,(intern (format nil "~A" (second key)) 
:keyword)
-                                    (cffi:foreign-slot-pointer ,sdl-event 
'sdl-cffi::Sdl-User-Event 'sdl-cffi::data1)))
+                                    (cffi:foreign-slot-value ,sdl-event 
'sdl-cffi::Sdl-User-Event 
'sdl-cffi::data1)))
                                 (:data2
                                  `(,(intern (format nil "~A" (second key)) 
:keyword)
-                                    (cffi:foreign-slot-pointer ,sdl-event 
'sdl-cffi::Sdl-User-Event 'sdl-cffi::data2)))
+                                    (cffi:foreign-slot-value ,sdl-event 
'sdl-cffi::Sdl-User-Event 
'sdl-cffi::data2)))
                                 (:t (error "Unknown keyword ~A" (first key)))))
                           keyword-list))


-- 
Peter Seibel            :  [EMAIL PROTECTED]
Gigamonkeys Consulting  :  http://www.gigamonkeys.com/
_______________________________________________
application-builder mailing list
application-builder@lispniks.com
http://www.lispniks.com/mailman/listinfo/application-builder

Reply via email to