From bf7c53bd578f47193f51baae3b82e5fe4ce9da79 Mon Sep 17 00:00:00 2001 From: Pratik Borhade Date: Tue, 22 Apr 2025 11:20:52 +0200 Subject: [PATCH] Fix #137825: Grease Pencil: Orbit around selection fails in paint mode Wrong origin was calculated when inside paint mode. Use `BKE_paint_stroke_get_average` for correct pivot point in grease pencil modes. Pull Request: https://projects.blender.org/blender/blender/pulls/137831 --- source/blender/editors/space_view3d/view3d_navigate.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/space_view3d/view3d_navigate.cc b/source/blender/editors/space_view3d/view3d_navigate.cc index fb719d6c51c..48a1af86627 100644 --- a/source/blender/editors/space_view3d/view3d_navigate.cc +++ b/source/blender/editors/space_view3d/view3d_navigate.cc @@ -822,7 +822,13 @@ bool view3d_orbit_calc_center(bContext *C, float r_dyn_ofs[3]) BKE_paint_stroke_get_average(scene, ob_act_eval, lastofs); is_set = true; } - else if (ob_act && (ob_act->mode & OB_MODE_SCULPT_CURVES)) { + else if (ob_act && ELEM(ob_act->mode, + OB_MODE_SCULPT_CURVES, + OB_MODE_PAINT_GREASE_PENCIL, + OB_MODE_SCULPT_GREASE_PENCIL, + OB_MODE_VERTEX_GREASE_PENCIL, + OB_MODE_WEIGHT_GREASE_PENCIL)) + { BKE_paint_stroke_get_average(scene, ob_act_eval, lastofs); is_set = true; }