Description

issues

  • FBSPOps::csgAddOperation returns null if BuilderBrush has no valid polys.
  • The creating level on content browser never calls "UEditorEngine::InitBuilderBrush(NewWorld);".
    But "New level" button on the menu bar calls it in UEditorEngine::NewMap().

temporary fix to avoid crashes

 

UObject* UWorldFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn)
{
// Create a new world.
const bool bAddToRoot = false;
UWorld* NewWorld = UWorld::CreateWorld(WorldType, bInformEngineOfWorld, Name, Cast<UPackage>(InParent), bAddToRoot, FeatureLevel);
NewWorld->SetFlags(Flags);
NewWorld->ThumbnailInfo = NewObject<UWorldThumbnailInfo>(NewWorld, NAME_None, RF_Transactional);
#if 1 // TEMPORARY FIX - Takashi.Suzuki@epicgames.com add
UEditorEngine * Editor = Cast<UEditorEngine>(GEngine);
if( Editor )
{
Editor->InitBuilderBrush(NewWorld);
}
#endif // TEMPORARY FIX - Takashi.Suzuki@epicgames.com add
return NewWorld;
}

Steps to Reproduce
  1.  Create a new level on content browser
     When created it by the "New Level" button at the menu bar at top of a window, it doesn't crash. 
  2.  Open it
  3.  Choose a pen brush on the "Modes" tab.
  4.  Draw a shape and press enter key to apply it.
  5.  The engine crashes
Callstack

UE4Editor-Engine.dll!AActor::SetActorLocation(const FVector & NewLocation, bool bSweep, FHitResult * OutSweepHitResult, ETeleportType Teleport) Line 3472 C++
UE4Editor-GeometryMode.dll!UGeomModifier_Pen::Apply() Line 1348 C++
UE4Editor-GeometryMode.dll!UGeomModifier_Pen::InputKey(FEditorViewportClient * ViewportClient, FViewport * Viewport, FKey Key, EInputEvent Event) Line 1684 C++
UE4Editor-GeometryMode.dll!FModeTool_GeometryModify::InputKey(FEditorViewportClient * ViewportClient, FViewport * Viewport, FKey Key, EInputEvent Event) Line 1238 C++
UE4Editor-UnrealEd.dll!FEdMode::InputKey(FEditorViewportClient * ViewportClient, FViewport * Viewport, FKey Key, EInputEvent Event) Line 284 C++
UE4Editor-UnrealEd.dll!FEditorModeTools::InputKey(FEditorViewportClient * InViewportClient, FViewport * Viewport, FKey Key, EInputEvent Event) Line 765 C++
UE4Editor-UnrealEd.dll!FEditorViewportClient::InputKey(FViewport * InViewport, int ControllerId, FKey Key, EInputEvent Event, float __formal, bool __formal) Line 2580 C++
UE4Editor-UnrealEd.dll!FLevelEditorViewportClient::InputKey(FViewport * InViewport, int ControllerId, FKey Key, EInputEvent Event, float AmountDepressed, bool bGamepad) Line 2664 C++
UE4Editor-LevelEditor.dll!FViewportClient::InputKey(const FInputKeyEventArgs & EventArgs) Line 794 C++
UE4Editor-Engine.dll!FSceneViewport::OnKeyDown(const FGeometry & InGeometry, const FKeyEvent & InKeyEvent) Line 964 C++
UE4Editor-Slate.dll!SViewport::OnKeyDown(const FGeometry & MyGeometry, const FKeyEvent & KeyEvent) Line 242 C++
[Inline Frame] UE4Editor-Slate.dll!FSlateApplication::ProcessKeyDownEvent::__l31::<lambda_21fddcfe5d8b6e57b707a8971995adc5>::operator()(const FArrangedWidget &) Line 5142 C++
UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_21fddcfe5d8b6e57b707a8971995adc5> >(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FKeyEvent EventCopy, const FSlateApplication::ProcessKeyDownEvent::__l31::<lambda_21fddcfe5d8b6e57b707a8971995adc5> & Lambda) Line 271 C++
[Inline Frame] UE4Editor-Slate.dll!FEventRouter::RouteAlongFocusPath(FSlateApplication *) Line 252 C++
UE4Editor-Slate.dll!FSlateApplication::ProcessKeyDownEvent(const FKeyEvent & InKeyEvent) Line 5138 C++
UE4Editor-Slate.dll!FSlateApplication::OnKeyDown(const int KeyCode, const unsigned int CharacterCode, const bool IsRepeat) Line 5046 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1677 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2292 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1522 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 772 C++

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-76331 in the post.

0
Login to Vote

Fixed
ComponentTools - MeshEditing
Affects Versions4.22
Target Fix4.23
Fix Commit7266487
Main Commit7273411
Release Commit7266487
CreatedJun 17, 2019
ResolvedJul 11, 2019
UpdatedJul 19, 2019