Fix #124622: Crash/assert on "Render Active Object"

The preview rendering would fall back to the shader preview rendering
pipeline, which is not suitable for objects. Instead, don't render any
preview (use an empty preview) for such object types. This case could be
handled a bit nicer by the code triggering the preview rendering (e.g.
the "Render Active Object" operator poll could return false), but
keeping that separate from fixing the lower level logic to ensure crash
free behavior.

Pull Request: https://projects.blender.org/blender/blender/pulls/126235
This commit is contained in:
Julian Eisel
2024-08-21 11:54:50 +02:00
committed by Julian Eisel
parent 6e143cbf75
commit 36c5606fc3

View File

@@ -1605,9 +1605,8 @@ static void icon_preview_startjob_all_sizes(void *customdata, wmJobWorkerStatus
if (object_preview_is_type_supported((Object *)ip->id)) {
/* Much simpler than the ShaderPreview mess used for other ID types. */
object_preview_render(ip, cur_size);
continue;
}
break;
continue;
case ID_GR:
BLI_assert(collection_preview_contains_geometry_recursive((Collection *)ip->id));
/* A collection instance empty was created, so this can just reuse the object preview