- (unless (gobject-class-g-type-name class)
- (let ((gobject-superclass (iter (for superclass in (class-direct-superclasses class))
- (finding superclass such-that (typep superclass 'gobject-class)))))
- (assert gobject-superclass)
- (setf (gobject-class-g-type-name class)
- (gobject-class-g-type-name gobject-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))
+ (finding superclass such-that (typep superclass 'gobject-class)))))
+ (assert gobject-superclass)
+ (gobject-class-g-type-name gobject-superclass)))))