#ifdef CONFIG_MODULES
if (!type) {
- module_load_qom(typename);
- type = type_get_by_name(typename);
+ int rv = module_load_qom(typename, &error_fatal);
+ if (rv > 0) {
+ type = type_get_by_name(typename);
+ } else {
+ error_report("missing object type '%s'", typename);
+ exit(1);
+ }
}
#endif
if (!type) {
oc = object_class_by_name(typename);
#ifdef CONFIG_MODULES
if (!oc) {
- module_load_qom(typename);
- oc = object_class_by_name(typename);
+ Error *local_err = NULL;
+ int rv = module_load_qom(typename, &local_err);
+ if (rv > 0) {
+ oc = object_class_by_name(typename);
+ } else if (rv < 0) {
+ error_report_err(local_err);
+ }
}
#endif
return oc;