From 4555db9042b279cf89ef06625e3a5d678a10a357 Mon Sep 17 00:00:00 2001 Message-Id: <4555db9042b279cf89ef06625e3a5d678a10a357.1715848735.git.mdw@distorted.org.uk> From: Mark Wooding Date: Fri, 3 Mar 2006 10:01:01 +0000 Subject: [PATCH 1/1] Bug fixes Organization: Straylight/Edgeware From: espen --- glib/gobject.lisp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/glib/gobject.lisp b/glib/gobject.lisp index a0631dc..59066da 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)) -- [mdw]