[gtk-cffi-cvs] CVS gtk-cffi/g-object

CVS User rklochkov rklochkov at common-lisp.net
Fri Aug 24 19:27:54 UTC 2012


Update of /project/gtk-cffi/cvsroot/gtk-cffi/g-object
In directory tiger.common-lisp.net:/tmp/cvs-serv31128/g-object

Modified Files:
	g-value.lisp pobject.lisp 
Log Message:
Fixed CFFI-OBJECTS:FREE-PTR generic usage (now specialized with EQL)


--- /project/gtk-cffi/cvsroot/gtk-cffi/g-object/g-value.lisp	2012/08/18 13:55:27	1.6
+++ /project/gtk-cffi/cvsroot/gtk-cffi/g-object/g-value.lisp	2012/08/24 19:27:54	1.7
@@ -157,9 +157,9 @@
     (unless (null-pointer-p value)
       (let* ((g-type (type-g-value value))
              (fundamental-type (g-type-fundamental g-type)))
-        ;(format t "g-val:~a ~a ~a~%" g-type fundamental-type 
-        ;        (g-type->lisp g-type))
-        (case fundamental-type
+;        (format t "g-val:~a ~a ~a~%" g-type fundamental-type 
+;                (g-type->lisp g-type))
+        (let ((res (case fundamental-type
           (#.(keyword->g-type :boxed)
              (find-object (g-value-get-boxed value) 
                           (g-type->lisp g-type)))
@@ -173,7 +173,11 @@
              (g-value-get-object value))
           (t
            (funcall (select-accessor 
-                     fundamental-type :g-value-get-) value)))))))
+                     fundamental-type :g-value-get-) value)))))
+          ;(format t "g-val value:~a~%" res) 
+          res)))))
+
+  
 
 (defmethod value ((g-value g-value))
   (let ((l
--- /project/gtk-cffi/cvsroot/gtk-cffi/g-object/pobject.lisp	2012/08/12 17:42:30	1.9
+++ /project/gtk-cffi/cvsroot/gtk-cffi/g-object/pobject.lisp	2012/08/24 19:27:54	1.10
@@ -59,7 +59,7 @@
   (:documentation "PDATA lets send any data via a c-pointer. C-pointer used as
 an id for the data. NB! Don't forget to free pointers after use."))
 
-(defmethod free-ptr ((type cffi-pdata) object) 
+(defmethod free-ptr ((type (eql 'cffi-pdata)) object)
                                         ; it's not typo: 
                                         ;we free object, not pointer
   (free object))





More information about the gtk-cffi-cvs mailing list