From: Dmitry Kalyanov Date: Sun, 4 Oct 2009 11:44:04 +0000 (+0400) Subject: in slot-boundp-using-class, check that pointer slot is bound before checking its... X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=9bf9f54937dedcf6d6e75d6c4f3020831997087b;p=cl-gtk2.git in slot-boundp-using-class, check that pointer slot is bound before checking its value (breaks on clozure) --- diff --git a/glib/gobject.meta.lisp b/glib/gobject.meta.lisp index 55a48ab..f987ad0 100755 --- a/glib/gobject.meta.lisp +++ b/glib/gobject.meta.lisp @@ -231,7 +231,8 @@ (defmethod slot-boundp-using-class ((class gobject-class) object (slot gobject-property-effective-slot-definition)) (handler-case - (and (pointer object) + (and (slot-boundp object 'pointer) + (pointer object) (progn (g-object-property-type (pointer object) (gobject-property-effective-slot-definition-g-property-name slot) :assert-readable t) t)) (property-unreadable-error () nil))) @@ -248,7 +249,8 @@ new-value) (defmethod slot-boundp-using-class ((class gobject-class) object (slot gobject-fn-effective-slot-definition)) - (and (pointer object) + (and (slot-boundp object 'pointer) + (pointer object) (not (null (gobject-fn-effective-slot-definition-g-getter-fn slot))))) (defmethod slot-value-using-class ((class gobject-class) object (slot gobject-fn-effective-slot-definition)) @@ -260,7 +262,7 @@ new-value) (defmethod slot-boundp-using-class ((class gobject-class) object (slot gobject-effective-slot-definition)) - t) + (slot-boundp object 'pointer)) (defmethod slot-makunbound-using-class ((class gobject-class) object (slot gobject-effective-slot-definition)) nil)