From: espen Date: Fri, 3 Mar 2006 10:01:01 +0000 (+0000) Subject: Bug fixes X-Git-Tag: clg-0-92~5 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/commitdiff_plain/039c2fdb932c480a828ac333ab0020d6b3a29086 Bug fixes --- diff --git a/glib/gobject.lisp b/glib/gobject.lisp index facb386..bf5040a 100644 --- a/glib/gobject.lisp +++ b/glib/gobject.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gobject.lisp,v 1.50 2006/02/26 15:30:01 espen Exp $ +;; $Id: gobject.lisp,v 1.51 2006/03/03 10:01:01 espen Exp $ (in-package "GLIB") @@ -557,17 +557,17 @@ (register-derivable-type 'gobject "GObject" 'expand-gobject-type 'gobject-depend ;;; Pseudo type for gobject instances which have their reference count ;;; increased by the returning function -;; (deftype referenced (type) type) +(deftype referenced (type) type) (define-type-method alien-type ((type referenced)) (declare (ignore type)) (alien-type 'gobject)) (define-type-method from-alien-form ((type referenced) form) - (let ((type (second type))) + (let ((class (second (type-expand-to 'referenced type)))) (if (subtypep type 'gobject) (let ((instance (make-symbol "INSTANCE"))) - `(let ((,instance ,(from-alien-form type form))) + `(let ((,instance ,(from-alien-form class form))) (when ,instance (%object-unref (foreign-location ,instance))) ,instance))