Description

When adding/removing pins on a Switch on Gameplay Tag Container node, it can cause a crash. There are multiple ways to get this to happen when deleting pins, the order given in the reproduction steps is just guaranteed.

Regression?: No
This also occurred in 4.14

User descriptions:

  • Crashes when i'm trying to edit Switch on gameplay tag container
  • Switch on Gameplay tag container, adding elements in the panel does not always add pins. And then removind the elements or unused pins caushed this crash.
  • Please troubleshoot the switch on gamplay tag container, it has many problems such as:
    -Adding a pin by clicking the + in the details panel does not add a pin to the blueprint.
    -Right clicking a pin on the blueprint and deleting it, will not delete it from the details panel. And clicking the delete in the details panel caused this crash.
    Also a feature request: instead of showing "case n" on the switch blueprint, show the actual tags.
    Gameplay tag containers are awesome.
Steps to Reproduce
  1. Open a level blueprint
  2. Add a "Switch on Gameplay Tag Container" node
  3. On the node itself, use the "Add Pin" button to add two pins
  4. In the details panel, use the + button to add 3 more pins (Note that these pins do not show up on the node)
  5. In the details panel, delete pins in the following order: #1, #2, #2, #1
    Result: When deleting pins, the editor will crash
    Expected: The pins are deleted successfully without a crash
Callstack
UE4Editor_GameplayTagsEditor!UGameplayTagsK2Node_SwitchGameplayTagContainer::CreateCasePins() [gameplaytagsk2node_switchgameplaytagcontainer.cpp:125]
UE4Editor_BlueprintGraph!UK2Node::ReallocatePinsDuringReconstruction() [k2node.cpp:361]
UE4Editor_BlueprintGraph!UK2Node::ReconstructNode() [k2node.cpp:463]
UE4Editor_GameplayTagsEditor!UGameplayTagsK2Node_SwitchGameplayTagContainer::PostEditChangeProperty() [gameplaytagsk2node_switchgameplaytagcontainer.cpp:63]
UE4Editor_CoreUObject!UObject::PostEditChangeChainProperty() [obj.cpp:421]
UE4Editor_PropertyEditor!FPropertyNode::NotifyPostChange() [propertynode.cpp:2368]
UE4Editor_PropertyEditor!FPropertyValueImpl::ClearChildren() [propertyhandleimpl.cpp:1431]
UE4Editor_PropertyEditor!FPropertyHandleArray::EmptyArray() [propertyhandleimpl.cpp:3616]
UE4Editor_PropertyEditor!FPropertyEditor::OnEmptyArray() [propertyeditor.cpp:388]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,void __cdecl() [delegateinstancesimpl.h:433]
UE4Editor_PropertyEditor!SDetailsViewBase::Tick() [sdetailsviewbase.cpp:1095]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_Slate!SBox::OnPaint() [sbox.cpp:237]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_Slate!SSplitter::OnPaint() [ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SOverlay::OnPaint() [soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [spanel.cpp:46]
UE4Editor_Slate!SSplitter::OnPaint() [ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [swidget.cpp:779]

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint Editor
Affects Versions4.134.144.154.16
Target Fix4.16
Fix Commit3348502
Main Commit3358685
CreatedMar 15, 2017
ResolvedMar 15, 2017
UpdatedJul 27, 2018