[Bf-blender-cvs] [ede1a247d8e] master: Fix camera snapping in camera View

Germano Cavalcante noreply at git.blender.org
Tue Jun 23 21:18:09 CEST 2020


Commit: ede1a247d8e31b10670914769cd87a1562172a31
Author: Germano Cavalcante
Date:   Tue Jun 23 16:14:06 2020 -0300
Branches: master
https://developer.blender.org/rBede1a247d8e31b10670914769cd87a1562172a31

Fix camera snapping in camera View

The `T_CAMERA` flag was being set in the wrong place.

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

M	source/blender/editors/transform/transform_convert.c

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

diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c
index e1e3c3d81b5..ce37cb9dacd 100644
--- a/source/blender/editors/transform/transform_convert.c
+++ b/source/blender/editors/transform/transform_convert.c
@@ -1148,21 +1148,6 @@ void createTransData(bContext *C, TransInfo *t)
     }
 
     t->flag |= T_OBJECT;
-
-    /* Check if we're transforming the camera from the camera */
-    if ((t->spacetype == SPACE_VIEW3D) && (t->region->regiontype == RGN_TYPE_WINDOW)) {
-      View3D *v3d = t->view;
-      RegionView3D *rv3d = t->region->regiondata;
-      if ((rv3d->persp == RV3D_CAMOB) && v3d->camera) {
-        /* we could have a flag to easily check an object is being transformed */
-        if (v3d->camera->id.tag & LIB_TAG_DOIT) {
-          t->flag |= T_CAMERA;
-        }
-      }
-      else if (v3d->ob_center && v3d->ob_center->id.tag & LIB_TAG_DOIT) {
-        t->flag |= T_CAMERA;
-      }
-    }
     convert_type = TC_OBJECT;
   }
 
@@ -1224,6 +1209,20 @@ void createTransData(bContext *C, TransInfo *t)
       break;
     case TC_OBJECT:
       createTransObject(C, t);
+      /* Check if we're transforming the camera from the camera */
+      if ((t->spacetype == SPACE_VIEW3D) && (t->region->regiontype == RGN_TYPE_WINDOW)) {
+        View3D *v3d = t->view;
+        RegionView3D *rv3d = t->region->regiondata;
+        if ((rv3d->persp == RV3D_CAMOB) && v3d->camera) {
+          /* we could have a flag to easily check an object is being transformed */
+          if (v3d->camera->id.tag & LIB_TAG_DOIT) {
+            t->flag |= T_CAMERA;
+          }
+        }
+        else if (v3d->ob_center && v3d->ob_center->id.tag & LIB_TAG_DOIT) {
+          t->flag |= T_CAMERA;
+        }
+      }
       break;
     case TC_OBJECT_TEXSPACE:
       createTransTexspace(t);



More information about the Bf-blender-cvs mailing list