}
static MonoImage *
-register_image (MonoImage *image)
+register_image (MonoImage *image, gboolean *problematic)
{
MonoImage *image2;
GHashTable *loaded_images = get_loaded_images_hash (image->ref_only);
if (mono_is_problematic_image (image)) {
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_ASSEMBLY, "Registering %s, problematic image '%s'", image->ref_only ? "REFONLY" : "default", image->name);
+ if (problematic)
+ *problematic = TRUE;
}
return image;
}
if (image == NULL)
return NULL;
- return register_image (image);
+ return register_image (image, NULL);
}
/**
if (image == NULL)
return NULL;
- return register_image (image);
+ return register_image (image, NULL);
}
#endif
// to see it again when we go searching for an image
// to load.
mono_images_unlock ();
+
+ if (problematic)
+ *problematic = TRUE;
+
return NULL;
}
g_assert (m_image_is_module_handle (image));
// Image not loaded, load it now
image = do_mono_image_open (fname, status, TRUE, TRUE, refonly, FALSE, load_from_context);
- if (problematic)
- *problematic = TRUE;
if (image == NULL)
return NULL;
- return register_image (image);
+ return register_image (image, problematic);
}
MonoImage *