[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