From 0667c31269d99a7bec708559d84845a69b32dec3 Mon Sep 17 00:00:00 2001
From: Matthias Benkard <code@mail.matthias.benkard.de>
Date: Sun, 17 Feb 2008 18:09:53 +0100
Subject: Fix INTERN-LISP-MANAGED-FOREIGN-INSTANCE.

darcs-hash:952721028097b9740e84d6a6d7a4cf43537a1ef5
---
 Lisp/instance-management.lisp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/Lisp/instance-management.lisp b/Lisp/instance-management.lisp
index ab2e0bb..371e78f 100644
--- a/Lisp/instance-management.lisp
+++ b/Lisp/instance-management.lisp
@@ -23,11 +23,12 @@
 (defun intern-lisp-managed-foreign-instance (&rest initargs &key pointer)
   (let ((key (cffi:pointer-address pointer)))
     (or (gethash key *lisp-managed-instances* nil)
-        (apply #'make-instance
-               (intern-pointer-wrapper
-                'class
-                :pointer (%objcl-object-get-class pointer))
-               initargs))))
+        (setf (gethash key *lisp-managed-instances*)
+              (apply #'make-instance
+                     (intern-pointer-wrapper
+                      'class
+                      :pointer (%objcl-object-get-class pointer))
+                     initargs)))))
 
 (defun unintern-lisp-managed-foreign-instance (instance)
   (remhash (cffi:pointer-address (pointer-to instance))
-- 
cgit v1.2.3