diff --git a/CHANGES.md b/CHANGES.md index 1a29cdbd..1340531f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ * Fixed crash when updating tilesets shader inputs. * Fixed crash when setting certain `/Cesium` debug options at runtime. * Fixed crash when disabling and re-enabling the extension. +* Fixed a bug where save stage dialog would appear when reloading Fabric stage at startup. * Fixed crash when removing USD prims in certain order. * Fixed issue where Cesium ion session would not resume on reload. * The movie capture tool now waits for tilesets to complete loading before it captures a frame. diff --git a/exts/cesium.omniverse/cesium/omniverse/usdUtils/usdUtils.py b/exts/cesium.omniverse/cesium/omniverse/usdUtils/usdUtils.py index 0c7a3634..50091fd4 100644 --- a/exts/cesium.omniverse/cesium/omniverse/usdUtils/usdUtils.py +++ b/exts/cesium.omniverse/cesium/omniverse/usdUtils/usdUtils.py @@ -154,7 +154,11 @@ def get_path_to_current_ion_server() -> Optional[str]: def set_path_to_current_ion_server(path: str) -> None: data = get_or_create_cesium_data() rel = data.GetSelectedIonServerRel() - rel.SetTargets([path]) + + # This check helps avoid sending unnecessary USD notifications + # See https://github.com/CesiumGS/cesium-omniverse/issues/640 + if get_path_to_current_ion_server() != path: + rel.SetTargets([path]) def get_tileset_paths() -> List[str]: diff --git a/src/core/src/Context.cpp b/src/core/src/Context.cpp index 1f5d5411..9cb81185 100644 --- a/src/core/src/Context.cpp +++ b/src/core/src/Context.cpp @@ -134,8 +134,6 @@ void Context::clearStage() { } void Context::reloadStage() { - const auto defaultIonServerPath = pxr::SdfPath("/CesiumServers/IonOfficial"); - clearStage(); // Populate the asset registry from prims already on the stage