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