From 8022b124a2fe04af25ce89c1a715657282e9a6d9 Mon Sep 17 00:00:00 2001 From: fowlert Date: Wed, 24 Feb 2021 15:02:51 -0500 Subject: [PATCH 1/2] null and anonymous layer checks --- lib/mayaUsd/nodes/layerManager.cpp | 4 +++- lib/mayaUsd/utils/utilSerialization.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/mayaUsd/nodes/layerManager.cpp b/lib/mayaUsd/nodes/layerManager.cpp index 8f5eb3d353..06732b7246 100644 --- a/lib/mayaUsd/nodes/layerManager.cpp +++ b/lib/mayaUsd/nodes/layerManager.cpp @@ -504,7 +504,9 @@ bool LayerDatabase::saveUsdToUsdFiles() SdfLayerHandleVector allLayers = stage->GetLayerStack(false); for (auto layer : allLayers) { - layer->Save(); + if (!layer->IsAnonymous()) { + layer->Save(); + } } } } diff --git a/lib/mayaUsd/utils/utilSerialization.cpp b/lib/mayaUsd/utils/utilSerialization.cpp index 45ddbaf7bc..460061ee42 100644 --- a/lib/mayaUsd/utils/utilSerialization.cpp +++ b/lib/mayaUsd/utils/utilSerialization.cpp @@ -212,7 +212,7 @@ SdfLayerRefPtr UsdMayaSerialization::saveAnonymousLayer( SdfLayerRefPtr newLayer = SdfLayer::FindOrOpen(path); - if (parentLayer) { + if (newLayer && parentLayer) { parentLayer->GetSubLayerPaths().Replace( anonLayer->GetIdentifier(), newLayer->GetIdentifier()); } From bb014348865681cbeffd125623475e2dc63544f0 Mon Sep 17 00:00:00 2001 From: fowlert Date: Wed, 24 Feb 2021 15:42:40 -0500 Subject: [PATCH 2/2] Using a better check for permission to save a layer --- lib/mayaUsd/nodes/layerManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mayaUsd/nodes/layerManager.cpp b/lib/mayaUsd/nodes/layerManager.cpp index 06732b7246..9a84608baf 100644 --- a/lib/mayaUsd/nodes/layerManager.cpp +++ b/lib/mayaUsd/nodes/layerManager.cpp @@ -504,7 +504,7 @@ bool LayerDatabase::saveUsdToUsdFiles() SdfLayerHandleVector allLayers = stage->GetLayerStack(false); for (auto layer : allLayers) { - if (!layer->IsAnonymous()) { + if (layer->PermissionToSave()) { layer->Save(); } }