Skip to content

Conversation

@RobertGlobant20
Copy link
Contributor

Purpose

SplashScreen crashing when having opened DynamoPlayer
This error happens when the user follow the next steps:

  • open Dynamo.
  • open DynamoPlayer.
  • choose a script in player.
  • close Dynamo and quickly (when the hourglass cursor is still shown) click Dynamo button, then get a crash and the SplashScreen stays frozen.
    So as a workaround I added some code in Dynamo SplashScreen that will show a messagebox saying that SplashScreen was not initialized correctly, then after the user clicks Ok, then will close the SplashScreen, in this way, we won't get the crash and the SplashScreen will be closed.

Declarations

Check these if you believe they are true

Release Notes

SplashScreen crashing when having opened DynamoPlayer

Reviewers

@DynamoDS/eidos

FYIs

@achintyabhat

This error happens when the user follow the next steps:
- open Dynamo.
- open DynamoPlayer.
- choose a script in player.
- close Dynamo and quickly (when the hourglass cursor is still shown) click Dynamo button, then get a crash and the SplashScreen stays frozen.
So as a workaround I added some code in Dynamo SplashScreen that will show a messagebox saying that SplashScreen was not initialized correctly, then after the user clicks Ok, then will close the SplashScreen, in this way, we won't get the crash and the SplashScreen will be closed.
@RobertGlobant20 RobertGlobant20 requested review from a team and Copilot December 1, 2025 20:03
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-9071

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses a crash that occurs in Dynamo's SplashScreen when rapidly reopening Dynamo after using DynamoPlayer. The fix adds defensive null checking for the viewModel and displays an informative error message instead of crashing, then closes the splash screen gracefully.

Key Changes:

  • Added null check for viewModel in OnRequestStaticSplashScreen() method
  • Added localized error messages to resource files for the splash screen error scenario

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
src/DynamoCoreWpf/Views/SplashScreen/SplashScreen.xaml.cs Added null check for viewModel and error message display in OnRequestStaticSplashScreen method
src/DynamoCoreWpf/Properties/Resources.resx Added localized strings for splash screen error title and message
src/DynamoCoreWpf/Properties/Resources.en-US.resx Added English localized strings for splash screen error title and message
Files not reviewed (1)
  • src/DynamoCoreWpf/Properties/Resources.Designer.cs: Language not supported

MessageBoxImage.Warning
);
});
this.Close();
Copy link

Copilot AI Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code continues to execute line 150 (StaticSplashScreenReady?.Invoke()) even after closing the splash screen when viewModel is null. Add a return statement after this.Close() to prevent invoking the event on a closed/invalid splash screen.

Suggested change
this.Close();
this.Close();
return;

Copilot uses AI. Check for mistakes.
@RobertGlobant20
Copy link
Contributor Author

This is a GIF showing the implemented behavior.
Revit_efcyudR9YB

RobertGlobant20 and others added 2 commits December 3, 2025 11:38
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@RobertGlobant20
Copy link
Contributor Author

Hi team, do you have any comment about this changes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant