Add compiler-macro that handles gtype calls with constant args
[cl-gtk2.git] / glib / gobject.object.high.lisp
index 887ea2d..f1cca2e 100644 (file)
@@ -2,7 +2,7 @@
 
 (defclass g-object ()
   ((pointer
-    :type cffi:foreign-pointer
+    :type (or null cffi:foreign-pointer)
     :initarg :pointer
     :accessor pointer
     :initform nil)
 
 (defmethod translate-from-foreign (pointer (type foreign-g-object-type))
   (let ((object (get-g-object-for-pointer pointer)))
-    (when (foreign-g-object-type-already-referenced type)
+    (when (and object (foreign-g-object-type-already-referenced type))
       (g-object-unref (pointer object)))
     object))