Fix T54270: Reset last_hit and last_location when reading the file
It does not make sense to read those values when loading a file and they can crash the cursor if they contain invalid coordinates. Reviewed By: brecht Maniphest Tasks: T54270 Differential Revision: https://developer.blender.org/D6754
This commit is contained in:
parent
888d180164
commit
2df040ed58
Notes:
blender-bot
2023-02-14 07:31:32 +01:00
Referenced by issue #74274, Blender 2.82a proposed revisions Referenced by issue #54270, Assert failure in brush projection code
|
@ -6603,6 +6603,13 @@ static void direct_link_scene(FileData *fd, Scene *sce)
|
|||
|
||||
sce->toolsettings = newdataadr(fd, sce->toolsettings);
|
||||
if (sce->toolsettings) {
|
||||
|
||||
/* Reset last_location and last_hit, so they are not remembered across sessions. In some files
|
||||
* these are also NaN, which could lead to crashes in painting. */
|
||||
struct UnifiedPaintSettings *ups = &sce->toolsettings->unified_paint_settings;
|
||||
zero_v3(ups->last_location);
|
||||
ups->last_hit = 0;
|
||||
|
||||
direct_link_paint_helper(fd, sce, (Paint **)&sce->toolsettings->sculpt);
|
||||
direct_link_paint_helper(fd, sce, (Paint **)&sce->toolsettings->vpaint);
|
||||
direct_link_paint_helper(fd, sce, (Paint **)&sce->toolsettings->wpaint);
|
||||
|
|
Loading…
Reference in New Issue