fix for clozure: do not use (non-standard) make-instance method for STRUCTURE-CLASSes
[cl-gtk2.git] / glib / gobject.object.high.lisp
index a612c6f..a7b4451 100644 (file)
@@ -69,7 +69,8 @@
     (error (e) (format t "Error in dispose: ~A~%" e))))
 
 (defcallback weak-notify-print :void ((data :pointer) (object-pointer :pointer))
-  (declare (ignore data))
+  (declare (ignore data)
+           (ignorable object-pointer))
   (debugf "g-object has finalized ~A ~A~%" (g-type-name (g-type-from-object object-pointer)) object-pointer))
 
 (defun erase-pointer (data object-pointer)
       (etypecase object
         (g-object (pointer object)))))
 
-(defun parse-gvalue-object (gvalue)
+(defun parse-g-value-object (gvalue)
   (get-g-object-for-pointer (g-value-get-object gvalue)))
 
 (defun set-gvalue-object (gvalue value)
   (g-value-set-object gvalue (if value (pointer value) (null-pointer))))
 
-(defmethod parse-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-object+)))
-  (parse-gvalue-object gvalue-ptr))
+(defmethod parse-g-value-for-type (gvalue-ptr (type-numeric (eql +g-type-object+)) parse-kind)
+  (declare (ignore parse-kind))
+  (parse-g-value-object gvalue-ptr))
 
-(defmethod parse-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-interface+)))
-  (parse-gvalue-object gvalue-ptr))
+(defmethod parse-g-value-for-type (gvalue-ptr (type-numeric (eql +g-type-interface+)) parse-kind)
+  (declare (ignore parse-kind))
+  (parse-g-value-object gvalue-ptr))
 
 (defmethod set-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-object+)) value)
   (set-gvalue-object gvalue-ptr value))
@@ -254,12 +257,12 @@ If @code{after} is true, then the function will be called after the default hand
               (for type in (signal-info-param-types signal-info))
               (set-g-value (mem-aref params 'g-value (1+ i)) arg type :zero-g-value t))
         (prog1
-            (if (= (g-type-numeric (signal-info-return-type signal-info)) +g-type-void+)
+            (if (g-type= (signal-info-return-type signal-info) +g-type-void+)
                 (g-signal-emitv params (signal-info-id signal-info) signal-name (null-pointer))
                 (with-foreign-object (return-value 'g-value)
                   (g-value-zero return-value)
                   (g-value-init return-value (signal-info-return-type signal-info))
-                  (prog1 (parse-gvalue return-value)
+                  (prog1 (parse-g-value return-value)
                     (g-value-unset return-value))))
           (iter (for i from 0 below (1+ params-count))
                 (g-value-unset (mem-aref params 'g-value i))))))))