Commit: 3aaf263d8da032c7fafd6937e2ac0e24e5f5f452 Author: Sergey Sharybin Date: Wed Oct 12 15:18:50 2022 +0200 Branches: tracking_refactor_v3 https://developer.blender.org/rB3aaf263d8da032c7fafd6937e2ac0e24e5f5f452
Tracking: Raise python exception when assigning wrong active track Before this an attempt to assign track from another object wos silently assigning active object to null. Such silencing of errors is not really a good way. =================================================================== M source/blender/makesrna/intern/rna_tracking.c =================================================================== diff --git a/source/blender/makesrna/intern/rna_tracking.c b/source/blender/makesrna/intern/rna_tracking.c index 15dcbeb52b8..0e136ff49e7 100644 --- a/source/blender/makesrna/intern/rna_tracking.c +++ b/source/blender/makesrna/intern/rna_tracking.c @@ -36,6 +36,7 @@ # include "BKE_anim_data.h" # include "BKE_animsys.h" # include "BKE_node.h" +# include "BKE_report.h" # include "DEG_depsgraph.h" @@ -141,7 +142,7 @@ static PointerRNA rna_tracking_active_track_get(PointerRNA *ptr) static void rna_tracking_active_track_set(PointerRNA *ptr, PointerRNA value, - struct ReportList *UNUSED(reports)) + struct ReportList *reports) { MovieClip *clip = (MovieClip *)ptr->owner_id; MovieTrackingTrack *track = (MovieTrackingTrack *)value.data; @@ -152,8 +153,11 @@ static void rna_tracking_active_track_set(PointerRNA *ptr, tracking_object->active_track = track; } else { - /* TODO(sergey): Raise an error. */ - tracking_object->active_track = NULL; + BKE_reportf(reports, + RPT_ERROR, + "Track '%s' is not found in the tracking object %s", + track->name, + tracking_object->name); } } @@ -168,7 +172,7 @@ static PointerRNA rna_tracking_active_plane_track_get(PointerRNA *ptr) static void rna_tracking_active_plane_track_set(PointerRNA *ptr, PointerRNA value, - struct ReportList *UNUSED(reports)) + struct ReportList *reports) { MovieClip *clip = (MovieClip *)ptr->owner_id; MovieTrackingPlaneTrack *plane_track = (MovieTrackingPlaneTrack *)value.data; @@ -179,8 +183,11 @@ static void rna_tracking_active_plane_track_set(PointerRNA *ptr, tracking_object->active_plane_track = plane_track; } else { - /* TODO(sergey): Raise an error. */ - tracking_object->active_plane_track = NULL; + BKE_reportf(reports, + RPT_ERROR, + "Plane track '%s' is not found in the tracking object %s", + plane_track->name, + tracking_object->name); } } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs