From 7ae983f2cffd14c561bc6b1679627a6177f9a20c Mon Sep 17 00:00:00 2001 From: Dmitry Kalyanov Date: Sat, 17 Oct 2009 03:54:44 +0400 Subject: [PATCH] glib: in finalize-inheritance :after method, ensure that superclasses are finalized --- glib/gobject.meta.lisp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glib/gobject.meta.lisp b/glib/gobject.meta.lisp index ad01dea..67c579e 100755 --- a/glib/gobject.meta.lisp +++ b/glib/gobject.meta.lisp @@ -72,6 +72,8 @@ (at-init (object) (initialize-gobject-class-g-type object)))) (defmethod finalize-inheritance :after ((class gobject-class)) + (iter (for superclass in (class-direct-superclasses class)) + (unless (class-finalized-p superclass) (finalize-inheritance superclass))) (setf (gobject-class-g-type-name class) (or (gobject-class-direct-g-type-name class) (let ((gobject-superclass (iter (for superclass in (class-direct-superclasses class)) -- 1.7.10.4