chiark / gitweb /
Small bug fix
authorespen <espen>
Thu, 31 May 2001 21:52:15 +0000 (21:52 +0000)
committerespen <espen>
Thu, 31 May 2001 21:52:15 +0000 (21:52 +0000)
glib/gforeign.lisp

index 38a003e5f4c7ee70cb085d1a14c47cbef7d3944e..d883e7a4e69c7bbb5e686f613d1adecd715fc8c4 100644 (file)
@@ -15,7 +15,7 @@
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: gforeign.lisp,v 1.9 2001/05/11 15:57:57 espen Exp $
+;; $Id: gforeign.lisp,v 1.10 2001/05/31 21:52:15 espen Exp $
 
 (in-package "GLIB")
 
@@ -54,6 +54,8 @@ (defun find-type-method (type fname)
 (defun find-applicable-type-method (type-spec fname &optional (error t))
   (flet ((find-superclass-method (class)
           (when class
+            (unless (class-finalized-p class)             
+              (finalize-inheritance class))
             (dolist (super (cdr (pcl::class-precedence-list class)))
               (return-if (find-type-method super fname)))))
         (find-expanded-type-method (type-spec)
@@ -321,7 +323,7 @@ (defun %defbinding (foreign-name lisp-name lambda-list
     (dolist (arg args)
       (destructuring-bind (var expr type-spec style) arg
        (let ((declaration (translate-type-spec type-spec))
-             (deallocation (cleanup-alien type-spec expr t)))
+             (deallocation (cleanup-alien type-spec var t)))
          (cond
           ((member style '(:out :in-out))
            (alien-types `(* ,declaration))
@@ -616,7 +618,6 @@ (deftype-method translate-from-alien string
         ))))
 
 (deftype-method cleanup-alien string (type-spec c-string &optional weak-ref)
-  (declare (ignore type-spec))
   (when weak-ref
     (unreference-alien type-spec c-string)))