[Bf-blender-cvs] [99e5d5ba21a] blender-v2.92-release: Fix marker camera switch + undo crashes in edit-mode

Campbell Barton noreply at git.blender.org
Fri Jan 22 02:41:08 CET 2021


Commit: 99e5d5ba21a44a9caa4f10b86c5065b916a096b4
Author: Campbell Barton
Date:   Fri Jan 22 10:56:53 2021 +1100
Branches: blender-v2.92-release
https://developer.blender.org/rB99e5d5ba21a44a9caa4f10b86c5065b916a096b4

Fix marker camera switch + undo crashes in edit-mode

Selecting markers and cameras could crash when in edit-mode.

Only support this in object mode as mode-switching as part of
activating cameras doesn't seem like a priority.

This has the same root cause as T84920.

===================================================================

M	source/blender/editors/animation/anim_markers.c

===================================================================

diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c
index 8e1f03295f4..a77864415ce 100644
--- a/source/blender/editors/animation/anim_markers.c
+++ b/source/blender/editors/animation/anim_markers.c
@@ -1210,6 +1210,7 @@ static void select_marker_camera_switch(
 {
 #ifdef DURIAN_CAMERA_SWITCH
   if (camera) {
+    BLI_assert(CTX_data_mode_enum(C) == CTX_MODE_OBJECT);
     Scene *scene = CTX_data_scene(C);
     ViewLayer *view_layer = CTX_data_view_layer(C);
     Base *base;
@@ -1281,6 +1282,15 @@ static int ed_marker_select_exec(bContext *C, wmOperator *op)
   bool camera = false;
 #ifdef DURIAN_CAMERA_SWITCH
   camera = RNA_boolean_get(op->ptr, "camera");
+  if (camera) {
+    /* Supporting mode switching from this operator doesn't seem so useful.
+     * So only allow setting the active camera in object-mode. */
+    if (CTX_data_mode_enum(C) != CTX_MODE_OBJECT) {
+      BKE_report(
+          op->reports, RPT_WARNING, "Selecting the camera is only supported in object mode");
+      camera = false;
+    }
+  }
 #endif
   int mval[2];
   mval[0] = RNA_int_get(op->ptr, "mouse_x");



More information about the Bf-blender-cvs mailing list