Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <jeroen@blender.org>2020-11-18 15:12:19 +0300
committerJeroen Bakker <jeroen@blender.org>2020-11-18 15:12:19 +0300
commit549a1cac88a12193faf2251edb1134270e8a1360 (patch)
treee31e056a204243cf9fce457068217f828e1d3268
parent4b55abc335558262c1c897738b159b7a0b0ef5f9 (diff)
Fix T82810: UV Editor, Crash with switching between single image and UDIM tile
Active tile could be NULL when it was on the second tile before switching back and forth between the Image/UDIM. In the future we might also check that the active_tile_index is always valid.
-rw-r--r--source/blender/draw/engines/overlay/overlay_edit_uv.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_edit_uv.c b/source/blender/draw/engines/overlay/overlay_edit_uv.c
index e21b6b30d22..045a38ef374 100644
--- a/source/blender/draw/engines/overlay/overlay_edit_uv.c
+++ b/source/blender/draw/engines/overlay/overlay_edit_uv.c
@@ -268,11 +268,13 @@ void OVERLAY_edit_uv_cache_init(OVERLAY_Data *vedata)
if (pd->edit_uv.do_tiled_image_overlay) {
/* Active tile border */
ImageTile *active_tile = BLI_findlink(&image->tiles, image->active_tile_index);
- obmat[3][0] = (float)((active_tile->tile_number - 1001) % 10);
- obmat[3][1] = (float)((active_tile->tile_number - 1001) / 10);
- grp = DRW_shgroup_create(sh, psl->edit_uv_tiled_image_borders_ps);
- DRW_shgroup_uniform_vec4_copy(grp, "color", selected_color);
- DRW_shgroup_call_obmat(grp, geom, obmat);
+ if (active_tile) {
+ obmat[3][0] = (float)((active_tile->tile_number - 1001) % 10);
+ obmat[3][1] = (float)((active_tile->tile_number - 1001) / 10);
+ grp = DRW_shgroup_create(sh, psl->edit_uv_tiled_image_borders_ps);
+ DRW_shgroup_uniform_vec4_copy(grp, "color", selected_color);
+ DRW_shgroup_call_obmat(grp, geom, obmat);
+ }
}
}