[Bf-blender-cvs] [3aaf263d8da] tracking_refactor_v3: Tracking: Raise python exception when assigning wrong active track

Sergey Sharybin noreply at git.blender.org
Tue Oct 18 12:18:02 CEST 2022


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);
   }
 }



More information about the Bf-blender-cvs mailing list