Skip to content

Rapidly double clicking menu buttons can open the same screen twice and lead to shell state corruption and crashes #2853

Description

@MrS-ibra

Prerequisites

  • I have searched for similar issues and confirmed this is not a duplicate

Game Version

  • Command & Conquer Generals
  • Command & Conquer Generals: Zero Hour
  • Other (please specify below)

Bug Description

If a menu button that opens a screen via Shell::push is pressed twice rapidly, the same screen can open as two separate instances, and advancing with one will leave the other drawn on top of whatever comes next and lead to undefined behavior when interacting with it
This bug is retail. However will become more common and be brought to the surface following #2056 and #2840

This issue is confirmed to happen on these screens:
Replay Browser menu
Saved Games menu
Network screen

Reproduction Steps

  1. Use a build following feat(gui): Implement user option to scale the game window transition speed #2840 and set GameWindowTransitionSpeedMultiplier at 2.5 for easiest reproduction
  2. Rapidly click the Replays or Saved Games buttons

Additional Context

Shell.menu.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething is not working right, typically is user facing⚠️ TriageIssues requiring initial review and prioritization

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions