Skip to content

Commit

Permalink
Merge pull request #3345 from Autodesk/azharia/EMSUSD-490/fixes-outer…
Browse files Browse the repository at this point in the history
…liner-not-refreshing-when-performing-a-UsdUndoVisibleCommand

EMSUSD-490 Fixes outerliner not refreshing when performing a UsdUndoVisibleCommand
  • Loading branch information
seando-adsk authored Sep 27, 2023
2 parents ce7fc17 + 58b33e8 commit e234252
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion lib/usdUfe/ufe/StagesSubject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,12 @@ void sendAttributeChanged(
}
} break;
case AttributeChangeType::kRemoved: {
// Special case when Undoing a visibility change, the notice.GetChangedInfoOnlyPaths()
// does not contain the change, hence handling visibility notification in re-synch path.
if (changedToken == UsdGeomTokens->visibility) {
Ufe::VisibilityChanged vis(ufePath);
notifyWithoutExceptions<Ufe::Object3d>(vis);
}
notifyWithoutExceptions<Ufe::Attributes>(
Ufe::AttributeRemoved(ufePath, changedToken.GetString()));
} break;
Expand Down Expand Up @@ -384,7 +390,7 @@ void StagesSubject::stageChanged(
const auto& changedPath = *it;
if (changedPath.IsPrimPropertyPath()) {
// Special case to detect when an xformop is added or removed from a prim.
// We need to send some notifs so DCC can update (such as on undo
// We need to send some notifications so DCC can update (such as on undo
// to move the transform manipulator back to original position).
const TfToken nameToken = changedPath.GetNameToken();
auto usdPrimPathStr = changedPath.GetPrimPath().GetString();
Expand All @@ -395,7 +401,9 @@ void StagesSubject::stageChanged(
notifyWithoutExceptions<Ufe::Transform3d>(ufePath);
}
}

processAttributeChanges(ufePath, changedPath, it.base()->second);

// No further processing for this prim property path is required.
continue;
}
Expand Down

0 comments on commit e234252

Please sign in to comment.