diff --git a/lib/mayaUsd/ufe/UsdTransform3dMayaXformStack.cpp b/lib/mayaUsd/ufe/UsdTransform3dMayaXformStack.cpp index 8b1cf8c7b4..db5ca64bdc 100644 --- a/lib/mayaUsd/ufe/UsdTransform3dMayaXformStack.cpp +++ b/lib/mayaUsd/ufe/UsdTransform3dMayaXformStack.cpp @@ -569,6 +569,7 @@ Ufe::SetVector3dUndoableCommand::Ptr UsdTransform3dMayaXformStack::setVector3dCm const TfToken& opSuffix) { auto attr = prim().GetAttribute(attrName); + auto setXformOpOrderFn = getXformOpOrderFn(); OpFunc f = attr ? OpFunc([attrName](const BaseUndoableCommand& cmd) { auto usdSceneItem = std::dynamic_pointer_cast(cmd.sceneItem()); @@ -577,7 +578,12 @@ Ufe::SetVector3dUndoableCommand::Ptr UsdTransform3dMayaXformStack::setVector3dCm return UsdGeomXformOp(attr); }) : OpFunc( - [opSuffix, setXformOpOrderFn = getXformOpOrderFn(), v](const BaseUndoableCommand& cmd) { + // MAYA-108612: generalized lambda capture below is incorrect with + // gcc 6.3.1 on Linux. Call to getXformOpOrderFn() is non-virtual; + // work around by calling in function body. PPT, 11-Jan-2021. + // [opSuffix, setXformOpOrderFn = getXformOpOrderFn(), v](const BaseUndoableCommand& + // cmd) { + [opSuffix, setXformOpOrderFn, v](const BaseUndoableCommand& cmd) { InTransform3dChange guard(cmd.path()); auto usdSceneItem = std::dynamic_pointer_cast(cmd.sceneItem()); TF_AXIOM(usdSceneItem); diff --git a/test/lib/ufe/testComboCmd.py b/test/lib/ufe/testComboCmd.py index f19ab4caa5..3809ea25f0 100644 --- a/test/lib/ufe/testComboCmd.py +++ b/test/lib/ufe/testComboCmd.py @@ -32,7 +32,6 @@ import unittest import os -import platform from functools import partial @@ -615,9 +614,8 @@ def testFallbackCases(self): # Name test such that it runs last. Otherwise, it runs before # testRotateScalePivotCompensation(), and causes it to fail. To be - # investigated --- MAYA-108067. Fails on Linux, both Python 2 and 3 - # --- MAYA-108612. - @unittest.skipIf(mayaUtils.previewReleaseVersion() < 121 or platform.system() == 'Linux', 'Fallback transform op handling only available in Maya Preview Release 121 or later.') + # investigated --- MAYA-108067. + @unittest.skipIf(mayaUtils.previewReleaseVersion() < 121, 'Fallback transform op handling only available in Maya Preview Release 121 or later.') def testZFallback(self): '''Transformable not handled by standard Transform3d handlers must be handled by fallback handler.'''