diff --git a/source/blender/editors/transform/transform.cc b/source/blender/editors/transform/transform.cc index 0a353784da5..f2f40e6cec6 100644 --- a/source/blender/editors/transform/transform.cc +++ b/source/blender/editors/transform/transform.cc @@ -707,6 +707,10 @@ static bool transform_modal_item_poll(const wmOperator *op, int value) /* More modes can be added over time if this feature proves useful for them. */ return false; } + if (t->options & CTX_CAMERA) { + /* Not supported. */ + return false; + } break; } case TFM_MODAL_PASSTHROUGH_NAVIGATE: diff --git a/source/blender/editors/transform/transform_mode_snapsource.cc b/source/blender/editors/transform/transform_mode_snapsource.cc index 8d5b6eac68f..50ba21b2f6c 100644 --- a/source/blender/editors/transform/transform_mode_snapsource.cc +++ b/source/blender/editors/transform/transform_mode_snapsource.cc @@ -165,6 +165,12 @@ void transform_mode_snap_source_init(TransInfo *t, wmOperator * /*op*/) return; } + if (t->tsnap.snap_target_fn) { + /* A `snap_target_fn` is required for the operation to work. + * `snap_target_fn` can be `nullptr` when transforming camera in camera view. */ + return; + } + if (ELEM(t->mode, TFM_INIT, TFM_DUMMY)) { /* Fallback */ transform_mode_init(t, nullptr, TFM_TRANSLATION);