Battlefield news crash when re-opening before content has loaded
Open
Nobody has claimed this yet.
Crash
Networking
UI
- Dominant language
- C#
- Stars
- 17.4k
- Forks
- 3k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 14
Description
This happens if the news download is delayed due to network issues.
Exception of type `System.InvalidOperationException`: Attempted to attach a panel to an open dropdown
at OpenRA.Mods.Common.Widgets.DropDownButtonWidget.AttachPanel (OpenRA.Widgets.Widget p, System.Action onCancel) [0x00192] in /Users/paul/src/OpenRA/OpenRA.Mods.Common//Widgets/DropDownButtonWidget.cs:114
at OpenRA.Mods.Common.Widgets.Logic.MainMenuLogic.OpenNewsPanel (OpenRA.Mods.Common.Widgets.DropDownButtonWidget button) [0x0001b] in /Users/paul/src/OpenRA/OpenRA.Mods.Common//Widgets/Logic/MainMenuLogic.cs:328
at OpenRA.Mods.Common.Widgets.Logic.MainMenuLogic+<LoadAndDisplayNews>c__AnonStorey2.<>m__2 () [0x0000c] in /Users/paul/src/OpenRA/OpenRA.Mods.Common//Widgets/Logic/MainMenuLogic.cs:317
at OpenRA.Mods.Common.Widgets.Logic.MainMenuLogic+<NewsDownloadComplete>c__AnonStorey5.<>m__0 () [0x0009c] in /Users/paul/src/OpenRA/OpenRA.Mods.Common//Widgets/Logic/MainMenuLogic.cs:411
at OpenRA.Primitives.ActionQueue.PerformActions (System.Int64 currentTime) [0x0008b] in /Users/paul/src/OpenRA/OpenRA.Game//Primitives/ActionQueue.cs:53
at OpenRA.Game.LogicTick () [0x0000d] in /Users/paul/src/OpenRA/OpenRA.Game//Game.cs:621
at OpenRA.Game.Loop () [0x000d6] in /Users/paul/src/OpenRA/OpenRA.Game//Game.cs:759
at OpenRA.Game.Run () [0x00042] in /Users/paul/src/OpenRA/OpenRA.Game//Game.cs:799
at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00011] in /Users/paul/src/OpenRA/OpenRA.Game//Game.cs:253
at OpenRA.Program.Main (System.String[] args) [0x00050] in /Users/paul/src/OpenRA/OpenRA.Game//Support/Program.cs:37
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with MainMenuLogic.cs around LoadAndDisplayNews, OpenNewsPanel, and NewsDownloadComplete, then inspect DropDownButtonWidget.cs around AttachPanel. Reproduce with a delayed news download and reopen the news panel before loading completes; done means reopening no longer raises the InvalidOperationException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100