[Bf-blender-cvs] [06fd94140cb] master: Fix T56833: "zoom to cursor" in Clip editor not handling aspect ratio.

Bastien Montagne noreply at git.blender.org
Tue Sep 18 14:31:17 CEST 2018


Commit: 06fd94140cb0546e99aedcde4175ca1862652885
Author: Bastien Montagne
Date:   Tue Sep 18 14:30:06 2018 +0200
Branches: master
https://developer.blender.org/rB06fd94140cb0546e99aedcde4175ca1862652885

Fix T56833: "zoom to cursor" in Clip editor not handling aspect ratio.

Trivial fix, just using same code as in Image editor...

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

M	source/blender/editors/space_clip/clip_ops.c

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

diff --git a/source/blender/editors/space_clip/clip_ops.c b/source/blender/editors/space_clip/clip_ops.c
index 4754d45a0d1..3a66fb05d21 100644
--- a/source/blender/editors/space_clip/clip_ops.c
+++ b/source/blender/editors/space_clip/clip_ops.c
@@ -113,12 +113,16 @@ static void sclip_zoom_set(const bContext *C, float zoom, float location[2])
 	}
 
 	if ((U.uiflag & USER_ZOOM_TO_MOUSEPOS) && location) {
-		float dx, dy;
+		float aspx, aspy, w, h, dx, dy;
 
 		ED_space_clip_get_size(sc, &width, &height);
+		ED_space_clip_get_aspect(sc, &aspx, &aspy);
 
-		dx = ((location[0] - 0.5f) * width - sc->xof) * (sc->zoom - oldzoom) / sc->zoom;
-		dy = ((location[1] - 0.5f) * height - sc->yof) * (sc->zoom - oldzoom) / sc->zoom;
+		w = width * aspx;
+		h = height * aspy;
+
+		dx = ((location[0] - 0.5f) * w - sc->xof) * (sc->zoom - oldzoom) / sc->zoom;
+		dy = ((location[1] - 0.5f) * h - sc->yof) * (sc->zoom - oldzoom) / sc->zoom;
 
 		if (sc->flag & SC_LOCK_SELECTION) {
 			sc->xlockof += dx;



More information about the Bf-blender-cvs mailing list