[ab] user event patch
Peter Seibel
peter at gigamonkeys.com
Fri Mar 16 23:10:14 CST 2007
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 : peter at gigamonkeys.com
Gigamonkeys Consulting : http://www.gigamonkeys.com/
More information about the application-builder
mailing list