@@ -606,7 +606,7 @@ bool LayerDatabase::getProxiesToSave(bool isExport, bool* hasAnyProxy)
606606 if (!pShape->isShareableStage () || !pShape->isStageIncoming ()) {
607607 SdfLayerHandleVector allLayers = stage->GetUsedLayers (true );
608608 for (auto layer : allLayers) {
609- if (layer->IsDirty ()) {
609+ if (TF_VERIFY (layer) && layer->IsDirty ()) {
610610 StageSavingInfo info;
611611 MDagPath::getAPathTo (mobj, info.dagPath );
612612 info.stage = stage;
@@ -893,7 +893,8 @@ SaveStageToMayaResult saveStageToMayaFile(
893893 saveLayersToMayaFile (
894894 stage->GetUsedLayers (true ),
895895 [&localLayerIds](const auto & layer) {
896- return localLayerIds.find (layer->GetIdentifier ()) != localLayerIds.cend ();
896+ return TF_VERIFY (layer)
897+ && localLayerIds.find (layer->GetIdentifier ()) != localLayerIds.cend ();
897898 },
898899 lm,
899900 builder,
@@ -1020,12 +1021,14 @@ BatchSaveResult LayerDatabase::saveUsdToUsdFiles()
10201021 const auto & sessionLayer = info.stage ->GetSessionLayer ();
10211022 const auto & allLayers = info.stage ->GetUsedLayers (true );
10221023 for (auto layer : allLayers) {
1023- if (layer != sessionLayer && layer->PermissionToSave ()) {
1024- if (!MayaUsd::utils::saveLayerWithFormat (layer)) {
1025- MString errMsg;
1026- MString layerName (layer->GetDisplayName ().c_str ());
1027- errMsg.format (" Could not save layer ^1s." , layerName);
1028- MGlobal::displayError (errMsg);
1024+ if (TF_VERIFY (layer)) {
1025+ if (layer != sessionLayer && layer->PermissionToSave ()) {
1026+ if (!MayaUsd::utils::saveLayerWithFormat (layer)) {
1027+ MString errMsg;
1028+ MString layerName (layer->GetDisplayName ().c_str ());
1029+ errMsg.format (" Could not save layer ^1s." , layerName);
1030+ MGlobal::displayError (errMsg);
1031+ }
10291032 }
10301033 }
10311034 }
0 commit comments