glib: Fixed boxed-related-symbols for variant structures
[cl-gtk2.git] / glib / gobject.boxed.lisp
index fc60d4f..218112a 100644 (file)
                        (mem-aref ptr (cstruct-slot-description-type slot) i))))
           ((cstruct-slot-description-inline-p slot)
            (let ((info (get-g-boxed-foreign-info (cstruct-inline-slot-description-boxed-type-name slot))))
+             (setf (slot-value proxy slot-name) (make-instance (cstruct-inline-slot-description-boxed-type-name slot)))
              (copy-slots-to-proxy (slot-value proxy slot-name)
                                   (foreign-slot-pointer native cstruct-type slot-name)
                                   (g-boxed-cstruct-wrapper-info-cstruct-description info))))
               :structure (parse-variant-structure-definition variant-name slots parent)))
         (collect variant)))
 
-(defpackage :gobject.boxed.generated-names)
-
 (defun generated-cstruct-name (symbol)
-  (or (get symbol 'generated-cstruct-name)
-      (setf (get symbol 'generated-cstruct-name) (gentemp (format nil "CSTRUCT-~A" (symbol-name symbol)) (find-package :gobject.boxed.generated-names)))))
+  (intern (format nil "~A-CSTRUCT-GENERATED-BY-GOBJECT-BOXED" (symbol-name symbol)) (symbol-package symbol)))
 
 (defun generated-cunion-name (symbol)
-  (or (get symbol 'generated-cunion-name)
-      (setf (get symbol 'generated-cunion-name) (gentemp (format nil "CUNION-~A" (symbol-name symbol)) (find-package :gobject.boxed.generated-names)))))
-
-(defun generated-fn-name (symbol)
-  (or (get symbol 'generated-fn-name)
-      (setf (get symbol 'generated-fn-name) (gentemp (format nil "FN~A" (symbol-name symbol)) (find-package :gobject.boxed.generated-names)))))
+  (intern (format nil "~A-CUNION-GENERATED-BY-GOBJECT-BOXED" (symbol-name symbol)) (symbol-package symbol)))
 
 (defun generate-cstruct-1 (struct)
   `(defcstruct ,(generated-cstruct-name (cstruct-description-name struct))
                (iter (for var-struct in (all-structures (g-boxed-variant-cstruct-info-root info)))
                      (for s-name = (var-structure-name var-struct))
                      (for cstruct-description = (var-structure-resulting-cstruct-description var-struct))
-                     (appending (append (list (intern (format nil "MAKE-~A" (symbol-name s-name)))
+                     (appending (append (list s-name)
+                                        (list (intern (format nil "MAKE-~A" (symbol-name s-name)))
                                               (intern (format nil "COPY-~A" (symbol-name s-name))))
                                         (iter (for slot in (cstruct-description-slots cstruct-description))
                                               (for slot-name = (cstruct-slot-description-name slot))