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:
authorPhilipp Oeser <info@graphics-engineer.com>2021-08-16 09:38:15 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2021-08-23 13:52:23 +0300
commit9564b6cf2388fc869608f32a77cbc18032810e58 (patch)
tree08e80045f7d24eae947364f267149d5bae516f28
parent0682af0d63a44b050d57bdaf7699e364a311d711 (diff)
Fix T90651: camera reconstruction crash without scene camera
This was working differently in 2.79, tried tracking this down and it seems this was wrong since the 2.8 beginning in {rB7907dfc40018}. This would not only crash without an active scene camera, but would also result in different tracks from different camera's constraints could not be selected. So select id depends on corresponding camera, remove the dependency on scene camera completely. Maniphest Tasks: T90651 Differential Revision: https://developer.blender.org/D12230
-rw-r--r--source/blender/draw/engines/overlay/overlay_extra.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
index 2a9080eb217..04d90919a20 100644
--- a/source/blender/draw/engines/overlay/overlay_extra.c
+++ b/source/blender/draw/engines/overlay/overlay_extra.c
@@ -864,7 +864,6 @@ typedef union OVERLAY_CameraInstanceData {
static void camera_view3d_reconstruction(OVERLAY_ExtraCallBuffers *cb,
Scene *scene,
View3D *v3d,
- Object *camera_object,
Object *ob,
const float color[4])
{
@@ -943,7 +942,7 @@ static void camera_view3d_reconstruction(OVERLAY_ExtraCallBuffers *cb,
}
if (is_select) {
- DRW_select_load_id(camera_object->runtime.select_id | (track_index << 16));
+ DRW_select_load_id(ob->runtime.select_id | (track_index << 16));
track_index++;
}
@@ -1251,7 +1250,7 @@ void OVERLAY_camera_cache_populate(OVERLAY_Data *vedata, Object *ob)
/* Motion Tracking. */
if ((v3d->flag2 & V3D_SHOW_RECONSTRUCTION) != 0) {
- camera_view3d_reconstruction(cb, scene, v3d, camera_object, ob, color_p);
+ camera_view3d_reconstruction(cb, scene, v3d, ob, color_p);
}
/* Background images. */