Check the libraries' versions requirement and throw compile-time error; add libraries...
[cl-gtk2.git] / glib / gobject.meta.lisp
old mode 100755 (executable)
new mode 100644 (file)
index ad01dea..36599d7
@@ -63,8 +63,8 @@
 (defmethod reinitialize-instance :around ((class gobject-class) &rest initargs &key (direct-superclasses nil d-s-p) &allow-other-keys)
   (declare (ignore direct-superclasses))
   (if d-s-p
-      (call-next-method)
-      (apply #'call-next-method class (compute-new-initargs-for-metaclass initargs 'g-object))))
+      (apply #'call-next-method class (compute-new-initargs-for-metaclass initargs 'g-object))
+      (call-next-method)))
 
 (defmethod initialize-instance :after ((object gobject-class) &key &allow-other-keys)
   (when (gobject-class-direct-g-type-name object)
@@ -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))