Fix casting across Smoke modules.
src/clos.lisp
Thu Feb 18 19:31:47 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Fix casting across Smoke modules.
--- old-smoke/src/clos.lisp 2014-10-30 08:07:01.000000000 +0100
+++ new-smoke/src/clos.lisp 2014-10-30 08:07:01.000000000 +0100
@@ -431,7 +431,9 @@
"Can not cast object ~A of class ~A to class ~A."
object (name (class-of object)) (name class))
(smoke-cast (smoke-module-pointer (smoke (class-of object))) (pointer object)
- (id (class-of object)) (id class)))
+ (id (class-of object))
+ (smoke-class-id (smoke-module-pointer (smoke (class-of object)))
+ (name-pointer class))))
(:method ((object smoke-multi-superclass-mixin) class)
(if (derived-p (class-of object) class)
(call-next-method)