[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