[Bf-blender-cvs] [0b251493c8c] master: Tracking: Raise python exception when assigning wrong active track

Sergey Sharybin noreply at git.blender.org
Tue Nov 22 11:54:23 CET 2022


Commit: 0b251493c8c50df24a882bdf1d7709df1a6e0b72
Author: Sergey Sharybin
Date:   Wed Oct 12 15:18:50 2022 +0200
Branches: master
https://developer.blender.org/rB0b251493c8c50df24a882bdf1d7709df1a6e0b72

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 ea753f194d9..de6605b2bb8 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