Page MenuHome

Fix T95787: Texture paint: Apply Camera Image crash for certain images
ClosedPublic

Authored by Philipp Oeser (lichtwerk) on Feb 15 2022, 3:48 PM.

Details

Summary

This does not happen with any image, but with images that have ID
properties.

ID properties are used to store view projection matrices (e.g. for
reprojection with Image from View or Quick Edit -- these are the
ones we are interested in), but of course they can be used for anything
else, too. The images in the file from the report have ID properties from
an Addon for example.

So the crash can reliably be reproduced with any image doing the
following:

bpy.data.images['myImage']['myIDprop'] = "foo"

This would lead code in texture_paint_camera_project_exec to think the
needed view_data is on the image (but in reality it was just some
other IDprop).

Solution is simple: just check view_data is really valid after getting
it from the IDprops.

Diff Detail

Repository
rB Blender