From d3cca9ff47c0079e0ff28285f2fa378dd4e7dedd Mon Sep 17 00:00:00 2001 From: Bill Robinson Date: Sun, 24 Jun 2012 08:34:20 +0100 Subject: [PATCH] Fix for callbacks under windows from Andrew Lyon. --- lib/glfw.lisp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- 2.11.4.GIT