From 33b7ecb2f82fff5b37a6b777d7c21815e0324e95 Mon Sep 17 00:00:00 2001 From: theraven Date: Wed, 25 May 2011 17:23:54 +0000 Subject: [PATCH] Don't call -finalize if it doesn't exist. --- gc_boehm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gc_boehm.c b/gc_boehm.c index 35e2ad3..8b3b8cb 100644 --- a/gc_boehm.c +++ b/gc_boehm.c @@ -204,7 +204,10 @@ static void runFinalize(void *addr, void *context) { objc_msg_lookup(addr, cxx_destruct)(addr, cxx_destruct); } - objc_msg_lookup(addr, finalize)(addr, finalize); + if (class_respondsToSelector(((id)addr)->isa, finalize)) + { + objc_msg_lookup(addr, finalize)(addr, finalize); + } *(void**)addr = (void*)(intptr_t)-1;//objc_lookup_class("NSZombie"); }