Description

In versión 5.4, a crash has been found when using splines inside the LevelViewport. This crash occurs when we change the Spline Point Type of a spline point, and subsequently we select another spline point. When selecting the new spline point, the engine crashes. This issue has only happened to me in Binary (via Launcher) versions.

It looks like the issue comes from the EngineElementsLibrary class, mainly from the following functions:

UEngineElementsLibrary::CreateEditorComponentElement(const UActorComponent* Component);

UEngineElementsLibrary::DestroyEditorComponentElement(const UActorComponent* Component);

UEngineElementsLibrary::AcquireEditorComponentElementHandle(const UActorComponent* Component, const bool bAllowCreate = true);

When selecting a splinepoint after changing the type of another spline point, AcquireEditorComponentElementHandle gets called with Component parameter set to nullptr. There is no valid check and when it reaches the function it makes the engine crashes. Looks like the Engine is not able to associate the click action with the Spline Component.

The case has a repro project to test this easily.

Steps to Reproduce

1- Open ReproMap map in test project
2- Set Viewport to Top ortho view to make grabbing spline points easier
3- Select the BP_Spline_Wall_Curved instance in the map
4- Right-click on the left spline point, choose Spline Point Type, and change it to something else (e.g. Linear)
5- Click on the right spline point
6- Observe crash

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-219833 in the post.

0
Login to Vote

Backlogged
ComponentUE - Editor - Workflow Systems
Affects Versions5.4
CreatedJul 22, 2024
UpdatedOct 18, 2024
View Jira Issue