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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user