X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=glib%2Fgobject.foreign-gobject.lisp;h=0ea990a38ecaf0dc4782a8c8c0a434dd17aaebab;hb=c96bf0edca9130595781245497e4ed8deaefb378;hp=a4cad2bf40c063ccc8339b15d85db3e7c0bc7ab9;hpb=7b8a41181b0880374e278f39fb5bd1186d405b22;p=cl-gtk2.git diff --git a/glib/gobject.foreign-gobject.lisp b/glib/gobject.foreign-gobject.lisp index a4cad2b..0ea990a 100644 --- a/glib/gobject.foreign-gobject.lisp +++ b/glib/gobject.foreign-gobject.lisp @@ -149,6 +149,7 @@ (unless lisp-type (error "Type ~A is not registered with REGISTER-OBJECT-TYPE" (g-type-name g-type))) + (g-object-ref pointer) (make-instance lisp-type :pointer pointer))) (define-foreign-type foreign-g-object-type () @@ -160,6 +161,8 @@ (defmethod translate-to-foreign (object (type foreign-g-object-type)) (cond + ((null object) + (null-pointer)) ((null (pointer object)) (error "Object ~A has been disposed" object)) ((typep object 'g-object)