From: Bill Robinson Date: Sun, 24 Jun 2012 07:34:20 +0000 (+0100) Subject: Fix for callbacks under windows from Andrew Lyon. X-Git-Url: https://repo.or.cz/w/cl-glfw.git/commitdiff_plain/d3cca9ff47c0079e0ff28285f2fa378dd4e7dedd Fix for callbacks under windows from Andrew Lyon. --- diff --git a/lib/glfw.lisp b/lib/glfw.lisp index ae98f06..b1006e7 100644 --- a/lib/glfw.lisp +++ b/lib/glfw.lisp @@ -430,12 +430,14 @@ If the window is closed, the loop is also exited." (defmacro define-callback-setter (c-name callback-prefix return-type (&body args) &key before-form after-form documentation) (let* ((callback-name (intern (format nil "~A-CALLBACK" callback-prefix))) + (cffi-callback-name #+(or win32 windows) (list callback-name :convention :stdcall) + #-(or win32 windows) callback-name) (special-name (intern (format nil "*~S*" callback-name))) (setter-name (intern (format nil "SET-~S" callback-name))) (internal-setter-name (intern (format nil "%~S" setter-name)))) `(progn (defparameter ,special-name nil) - (cffi:defcallback ,callback-name ,return-type ,args + (cffi:defcallback ,cffi-callback-name ,return-type ,args (when ,special-name (prog2 ,before-form