(foreign-slot-value query 'g-type-query :instance-size)
(callback c-instance-init) nil))
(add-interfaces ,name))
- (defmethod initialize-instance :before ((object ,class) &key pointer)
- (log-for :subclass "(initialize-instance ~A :pointer ~A) :before~%" object pointer)
- (unless (or pointer (and (slot-boundp object 'gobject::pointer)
- (gobject::pointer object)))
- (log-for :subclass "calling g-object-constructor~%")
- (setf (gobject::pointer object) (gobject::g-object-call-constructor ,name nil nil)
- (gobject::g-object-has-reference object) t)))
(progn
,@(iter (for (prop-name prop-type prop-accessor prop-reader prop-writer) in properties)
(declare (ignorable prop-type))
(defmethod make-instance ((class gobject-class) &rest initargs &key pointer)
(log-for :subclass "(make-instance ~A ~{~A~^ ~})~%" class initargs)
+ (ensure-finalized class)
(let ((*currently-making-object-p* t))
(if pointer
(progn