do_console_cancel_event (void)
{
static MonoClassField *cancel_handler_field;
+ MonoError error;
MonoDomain *domain = mono_domain_get ();
MonoClass *klass;
MonoDelegate *load_value;
if (!domain->domain)
return;
- klass = mono_class_from_name (mono_defaults.corlib, "System", "Console");
+ klass = mono_class_try_load_from_name (mono_defaults.corlib, "System", "Console");
if (klass == NULL)
return;
g_assert (cancel_handler_field);
}
- vtable = mono_class_vtable_full (domain, klass, FALSE);
- if (vtable == NULL)
+ vtable = mono_class_vtable_full (domain, klass, &error);
+ if (vtable == NULL || !is_ok (&error)) {
+ mono_error_cleanup (&error);
return;
+ }
mono_field_static_get_value (vtable, cancel_handler_field, &load_value);
if (load_value == NULL)
return;