Fixed build problem with SBCL 0.9.11
[clg] / glib / gcallback.lisp
index 0598e44..9330820 100644 (file)
@@ -20,7 +20,7 @@
 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-;; $Id: gcallback.lisp,v 1.30 2006-02-19 19:31:14 espen Exp $
+;; $Id: gcallback.lisp,v 1.33 2006-03-02 21:13:01 espen Exp $
 
 (in-package "GLIB")
 
@@ -29,6 +29,9 @@
 
 ;;;; Callback invokation
 
+(deftype gclosure () 'pointer)
+(register-type 'gclosure '|g_closure_get_type|)
+
 (defun register-callback-function (function)
   (check-type function (or null symbol function))
   (register-user-data function))
@@ -45,6 +48,7 @@
 (define-callback signal-emission-hook nil
     ((invocation-hint pointer) (n-params unsigned-int) (param-values pointer)
      (callback-id unsigned-int))
+  (declare (ignore invocation-hint))
   (callback-trampoline callback-id n-params param-values))
 
 (defun callback-trampoline (callback-id n-params param-values &optional
   (instance ginstance)
   (handler-id unsigned-int))
 
-(deftype gclosure () 'pointer)
-(register-type 'gclosure '|g_closure_get_type|)
-
 (defbinding (callback-closure-new "clg_callback_closure_new") () gclosure
   (callback-id unsigned-int) 
   (callback callback)
@@ -469,7 +470,7 @@ once."
          (:first `((callback-id unsigned-int) ,@(mapcar #'list names types)))
          (:last `(,@(mapcar #'list names types) (callback-id unsigned-int))))
        (declare (ignore ,@ignore))
-       (invoke-callback callback-id ',return-type ,@params))))
+       (invoke-callback callback-id ',return-type ,@(nreverse params)))))
 
 (defmacro with-callback-function ((id function) &body body)
   `(let ((,id (register-callback-function ,function)))