Skip to content

Commit 00981a2

Browse files
committed
Fix bug for 3D-only cabs
1 parent f947f29 commit 00981a2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Source/RunActivity/Viewer3D/RollingStock/MSTSLocomotiveViewer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,6 @@ public override void HandleUserInput(ElapsedTime elapsedTime)
241241
// Handle other cabcontrols
242242
foreach (var kvp in external.CabControls)
243243
{
244-
if (_CabRenderer == null) break;
245244
if (!kvp.Value.Changed) continue;
246245
float val = kvp.Value.Value;
247246
switch (kvp.Key.Item1.Type)
@@ -291,7 +290,8 @@ public override void HandleUserInput(ElapsedTime elapsedTime)
291290
// Other controls can hopefully be controlled faking mouse input
292291
// TODO: refactor HandleUserInput()
293292
default:
294-
if (_CabRenderer.ControlMap.TryGetValue(kvp.Key, out var renderer) && renderer is CabViewDiscreteRenderer discrete)
293+
var cabRenderer = ThreeDimentionCabRenderer ?? _CabRenderer;
294+
if (cabRenderer != null && cabRenderer.ControlMap.TryGetValue(kvp.Key, out var renderer) && renderer is CabViewDiscreteRenderer discrete)
295295
{
296296
var oldChanged = discrete.ChangedValue;
297297
discrete.ChangedValue = (oldval) => val;

0 commit comments

Comments
 (0)