From: Dmitry Kalyanov Date: Mon, 18 Jan 2010 23:27:07 +0000 (+0300) Subject: Add handling of NIL values in translate-to-foreign for boxed-opaque X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=8e44bb40b5cffbe4c2a672727f7ea5f769cde420;p=cl-gtk2.git Add handling of NIL values in translate-to-foreign for boxed-opaque --- 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)))