From 301c01b2ae9707fae41e74b8762f0a1503fa6d8e Mon Sep 17 00:00:00 2001 From: rfm Date: Thu, 25 Feb 2010 16:54:59 +0000 Subject: [PATCH] slightly more rigorous dtable handling. --- sendmsg2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sendmsg2.c b/sendmsg2.c index ca29f23..5f1e748 100644 --- a/sendmsg2.c +++ b/sendmsg2.c @@ -35,13 +35,14 @@ Slot_t objc_msg_lookup_internal(id *receiver, SEL selector, id sender) if (0 == result) { objc_mutex_lock(__objc_runtime_mutex); - if (dtable_for_class(class) == __objc_uninstalled_dtable) + dtable = dtable_for_class(class); + if (dtable == __objc_uninstalled_dtable) { __objc_install_dispatch_table_for_class(class); dtable = dtable_for_class(class); } objc_mutex_unlock(__objc_runtime_mutex); - result = sarray_get_safe(class->dtable, (sidx)selector->sel_id); + result = sarray_get_safe(dtable, (sidx)selector->sel_id); } } else