-(defmethod shared-initialize :after ((class ginstance-class) names &key name gtype)
- (let* ((class-name (or name (class-name class)))
+(defmethod shared-initialize ((class ginstance-class) names &key name gtype)
+ (call-next-method)
+ (setf
+ (slot-value class 'foreign-init)
+ (or (first gtype) (default-type-init-name (or name (class-name class))))))
+
+
+(defmethod finalize-inheritance ((class ginstance-class))
+ (call-next-method)
+ (let* ((class-name (class-name class))