| 135 | } |
| 136 | |
| 137 | void UURLabBridgeServer::UnregisterManager(AAMjManager* InManager) |
| 138 | { |
| 139 | // Idempotent against mismatched cleanup orderings during PIE teardown. |
| 140 | if (ActiveManager.Get() != InManager) |
| 141 | return; |
| 142 | if (Dispatcher.IsValid()) |
| 143 | { |
| 144 | // Per-cycle teardown only — session, encoding, and observation |
| 145 | // level are bridge-level and survive PIE end / level changes. |
| 146 | // BridgeServer::Stop is what fully drops them. |
| 147 | Dispatcher->OnManagerGone(); |
| 148 | } |
| 149 | ActiveManager.Reset(); |
| 150 | } |