From e59b159786355b542f5036b1b40247666fe195f2 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Sat, 5 Jun 2010 15:36:38 +0100 Subject: [PATCH 1/1] Return a more robust warning when we try to define a type with a broken supertype. (Before, it seriously broke the type system if this happened) Organization: Straylight/Edgeware From: Rupert Swarbrick --- glib/gobject.lisp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/glib/gobject.lisp b/glib/gobject.lisp index bfde9d1..68ee82c 100644 --- a/glib/gobject.lisp +++ b/glib/gobject.lisp @@ -586,6 +586,10 @@ (defun expand-gobject-type (type forward-p options &optional (metaclass 'gobject (let ((supers (cons (supertype type) (implements type))) (class (type-from-number type)) (slots (getf options :slots))) + (when (member nil supers) + (error "Got NIL as a supertype for ~A (full list: ~A).~%~ + This shouldn't happen - is the parent type correctly registered?" + (find-foreign-type-name type) supers)) `(defclass ,class ,supers ,(unless forward-p (slot-definitions class (query-object-class-properties type) slots)) -- [mdw]