Conversion from 4.10 to 4.11.2 Crashes

I haven’t quite figured out what the problem is. . .but my game crashes during the paint method. The call stack below is a little excessive for painting so few widgets:

UE4Editor-Slate.dll!SButton::OnPaint(...) Line 74	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-Slate.dll!SConstraintCanvas::OnPaint(...) Line 192	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(...) Line 44	C++
UE4Editor-SlateCore.dll!SPanel::OnPaint(...) Line 19	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SOverlay::OnPaint(...) Line 100	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(...) Line 44	C++
UE4Editor-SlateCore.dll!SPanel::OnPaint(...) Line 19	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(...) Line 25	C++
UE4Editor-Slate.dll!SScrollBox::OnPaint(...) Line 917	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-Slate.dll!SConstraintCanvas::OnPaint(...) Line 192	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-Slate.dll!SConstraintCanvas::OnPaint(...) Line 192	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-Slate.dll!SConstraintCanvas::OnPaint(...) Line 192	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(...) Line 25	C++
UE4Editor-UMG.dll!SObjectWidget::OnPaint(...) Line 71	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-Slate.dll!SConstraintCanvas::OnPaint(...) Line 192	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SOverlay::OnPaint(...) Line 100	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SOverlay::OnPaint(...) Line 100	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(...) Line 44	C++
UE4Editor-SlateCore.dll!SPanel::OnPaint(...) Line 19	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-Slate.dll!SScissorRectBox::OnPaint(...) Line 66	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(...) Line 25	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(...) Line 25	C++
UE4Editor-Slate.dll!SViewport::OnPaint(...) Line 114	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(...) Line 44	C++
UE4Editor-SlateCore.dll!SPanel::OnPaint(...) Line 19	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren(...) Line 44	C++
UE4Editor-SlateCore.dll!SPanel::OnPaint(...) Line 19	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SOverlay::OnPaint(...) Line 100	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint(...) Line 25	C++
UE4Editor-SlateCore.dll!SWidget::Paint(...) Line 669	C++
UE4Editor-SlateCore.dll!SWindow::PaintWindow(...) Line 1688	C++
UE4Editor-Slate.dll!FSlateApplication::DrawWindowAndChildren(...) Line 996	C++
UE4Editor-Slate.dll!FSlateApplication::PrivateDrawWindows(...) Line 1225	C++
UE4Editor-Slate.dll!FSlateApplication::DrawWindows() Line 957	C++
UE4Editor-Slate.dll!FSlateApplication::TickApplication(float DeltaTime) Line 1543	C++
UE4Editor-Slate.dll!FSlateApplication::Tick() Line 1335	C++
UE4Editor.exe!FEngineLoop::Tick() Line 2679	C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 142	C++
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 189	C++

Hello,

  • Could you provide the logs from your project’s Saved->Logs folder?
  • Could you please provide your Machine ID and ensure that you hit send on the Crash Reporter window?

Hello Sean.

I was able to track down the problem to an SButton derived class, which basically was the original SButton that was modified to highlight the control on demand (pragmatically that is). I can PM the cpp/h files to you if needed.

My bigger problem though, one that has been open for months now, is how do I interface my virtual keyboard with the SEditableText control?

I have an UMyEditableTextBox, that includes an SMyEditableTextBox, which contains the SEditableText. However, the SEditableText interfaces doesn’t support sending pragmatic (faked) keystrokes to the control.

I posted this on AnswerHub and in the forums back in December but have not received a work around to it. I was hoping that the 4.11.x releases would address this issue. Do you know if it does?

Is it possible to point me to a virtual keyboard example that interfaces with an editable text control?

Thank you,

  • Can you reproduce this crash in a clean project?
  • Do you have repro steps we can use to reproduce the crash on our end?
  • If you’d like to provide the full project, you can zip it up, upload it to dropbox, and provide me a link through PM: https://forums.unrealengine.com/member.php?160394-Sean-Flint

Sean, I can test it in empty project at a later time and send it to you if you’re still interested.

However, I am working on my virtual keyboard now, and it is a very high priority for me. Can I get any help with it?

When I try to use FMoveCursor I am getting an unresolved linking error:

        EditableText->MoveCursor(FMoveCursor::Cardinal(ECursorMoveGranularity::Character, FIntPoint(0, 1), ECursorAction::MoveCursor));


2> error LNK2019: unresolved external symbol "public: static class FMoveCursor __cdecl FMoveCursor::Cardinal(enum ECursorMoveGranularity,struct FIntPoint,enum ECursorAction)"

After re-reading the documentation I noticed that Cardinal actually returns an FMoveCursor. So I made the below modification but still encountered the unresolved external error.

        FMoveCursor Args = FMoveCursor::Cardinal(ECursorMoveGranularity::Character, FIntPoint(0, 1), ECursorAction::MoveCursor);
        EditableText->MoveCursor(Args);

As far as the Virtual Keyboard assistance goes, please create a new Answerhub topic for it, as it is not directly related to the initial crash.

I’d like to focus on determining what is causing the crash on this post. Could you please provide the logs from your Project’s Saved->Logs folder after the crash occurs?

Could you provide the Machine ID from the Crash Reporter window when it appears and ensure to hit send on the report?

Sean look at the thread below. I posted several times throughout December 2015 but got no response:

And I’m at this again and I need a resolution.

Hello,

The original focus of this post was the crash that you were having when converting from 4.10 to 4.11.2. If you have any additional information on this crash, or can provide the logs and Machine ID that I requested, please feel free to provide that information.

We do this to keep focus on individual issues in each thread.

Epic’s primary focus is on resolving defects in the engine and we don’t provide guaranteed support for development questions. If you believe you have found an engine defect, please log a new bug report with reproduction steps.

Have a great day