Moved parse-gvalue-for-type and set-gvalue-for-type methods for GObject and GBoxed
[cl-gtk2.git] / glib / gobject.foreign-gobject.lisp
index 215110f..6b56e89 100644 (file)
         (loop
            for i from 0 below args-count
            for parameter = (mem-aref parameters 'g-parameter i)
-           do (foreign-free
-               (mem-ref (foreign-slot-pointer parameter 'g-parameter 'name)
-                        :pointer))
-           do (g-value-unset
-               (foreign-slot-pointer parameter 'g-parameter 'value)))))))
+           do (foreign-free (mem-ref (foreign-slot-pointer parameter 'g-parameter :name) :pointer))
+           do (g-value-unset (foreign-slot-pointer parameter 'g-parameter :value)))))))
 
 (defun g-object-call-get-property (object property-name &optional property-type)
   (restart-case
     (unwind-protect
          (g-object-set-property (ensure-object-pointer object)
                                 property-name value)
-      (g-value-unset value))))
\ No newline at end of file
+      (g-value-unset value))))
+
+(defmethod parse-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-object+)))
+  (parse-gvalue-object gvalue-ptr))
+
+(defmethod parse-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-interface+)))
+  (parse-gvalue-object gvalue-ptr))
+
+(defmethod set-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-object+)) value)
+  (set-gvalue-object gvalue-ptr value))
+
+(defmethod set-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-interface+)) value)
+  (set-gvalue-object gvalue-ptr value))
+