Index: RunActivity/Viewer3D/Popups/OSDLocations.cs =================================================================== --- RunActivity/Viewer3D/Popups/OSDLocations.cs (revision 3992) +++ RunActivity/Viewer3D/Popups/OSDLocations.cs (working copy) @@ -65,7 +65,7 @@ var activity = Owner.Viewer.Simulator.ActivityRun; // Update every 10s or when the current activity task changes. - if (--PlatformUpdate <= 0 || stationStops.Count != StationStopsCount || (activity != null && activity.Current != ActivityCurrentTask)) + if (stationStops.Count > 1 && (--PlatformUpdate <= 0 || stationStops.Count != StationStopsCount || (activity != null && activity.Current != ActivityCurrentTask))) { PlatformUpdate = 40; @@ -86,7 +86,7 @@ foreach (var @event in activity.EventList) { var eventAction = @event.ParsedObject as Orts.Formats.Msts.EventCategoryAction; - if (eventAction != null) + if (eventAction != null && eventAction.SidingId != null && eventAction.WagonList != null) { var sidingId1 = eventAction.SidingId; var sidingId2 = eventAction.WagonList != null && eventAction.WagonList.WorkOrderWagonList.Count > 0 ? eventAction.WagonList.WorkOrderWagonList[0].SidingId : default(uint?); @@ -106,6 +106,14 @@ if (activity != null) ActivityCurrentTask = activity.Current; } + else + { //Disable Automatic mode when activity loop detected. + if (State != DisplayState.All && stationStops.Count == 1) + { + State = DisplayState.All; + + } + } } public override bool Interactive