From 8e44bb40b5cffbe4c2a672727f7ea5f769cde420 Mon Sep 17 00:00:00 2001 From: Dmitry Kalyanov Date: Tue, 19 Jan 2010 02:27:07 +0300 Subject: [PATCH] Add handling of NIL values in translate-to-foreign for boxed-opaque --- glib/gobject.boxed.lisp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/glib/gobject.boxed.lisp b/glib/gobject.boxed.lisp index 983d0ff..4720155 100644 --- a/glib/gobject.boxed.lisp +++ b/glib/gobject.boxed.lisp @@ -233,10 +233,12 @@ (make-instance 'boxed-opaque-foreign-type :info info :return-p return-p)) (defmethod translate-to-foreign (proxy (type boxed-opaque-foreign-type)) - (prog1 (g-boxed-opaque-pointer proxy) - (when (g-boxed-foreign-return-p type) - (tg:cancel-finalization proxy) - (setf (g-boxed-opaque-pointer proxy) nil)))) + (if (null proxy) + (null-pointer) + (prog1 (g-boxed-opaque-pointer proxy) + (when (g-boxed-foreign-return-p type) + (tg:cancel-finalization proxy) + (setf (g-boxed-opaque-pointer proxy) nil))))) (defmethod free-translated-object (native (type boxed-opaque-foreign-type) param) (declare (ignore native type param))) -- 1.7.10.4