Fixed setting and parsing GValues of GBoxed type GStrv
authorDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Tue, 21 Jul 2009 19:03:23 +0000 (23:03 +0400)
committerDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Tue, 21 Jul 2009 19:03:23 +0000 (23:03 +0400)
glib/gobject.foreign-gboxed.lisp

index a19ef24..58bc856 100644 (file)
@@ -489,12 +489,13 @@ If it is a function designator then it specifies a function that accepts the new
         (t (parse-g-boxed (g-value-get-boxed gvalue) boxed-type))))))
 
 (defmethod parse-g-value-for-type (gvalue-ptr (type-numeric (eql +g-type-boxed+)))
-  (if (g-type= (g-value-type gvalue-ptr) type-numeric)
+  (if (g-type= (g-value-type gvalue-ptr) (g-strv-get-type))
       (convert-from-foreign (g-value-get-boxed gvalue-ptr) '(glib:gstrv :free-from-foreign nil))
       (parse-g-value-boxed gvalue-ptr)))
 
 (defmethod set-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-boxed+)) value)
-  (if (g-type= (g-value-type gvalue-ptr) type-numeric)
+  (format t "Converting ~A of GBoxed type ~A~%" value (g-type-string (g-value-type gvalue-ptr)))
+  (if (g-type= (g-value-type gvalue-ptr) (g-strv-get-type))
       (g-value-set-boxed gvalue-ptr (convert-to-foreign value '(glib:gstrv :free-from-foreign nil)))
       (set-gvalue-boxed gvalue-ptr value)))