diff --git a/BeefLibs/Beefy2D/src/widgets/EditWidget.bf b/BeefLibs/Beefy2D/src/widgets/EditWidget.bf index 711c5e87..742a74d7 100644 --- a/BeefLibs/Beefy2D/src/widgets/EditWidget.bf +++ b/BeefLibs/Beefy2D/src/widgets/EditWidget.bf @@ -1074,13 +1074,6 @@ namespace Beefy.widgets bool atEnd = textPos == mData.mTextLength; String insertStr = text; - if (!mIsMultiline) - { - int crPos = insertStr.IndexOf('\n'); - if (crPos != -1) - insertStr = scope:: String(text, 0, crPos); - } - InsertText((int32)textPos, insertStr); if (atEnd) @@ -1130,11 +1123,15 @@ namespace Beefy.widgets { scope AutoBeefPerf("EWC.InsertAtCursor"); - - //String insertText = scope String(); String insertString = theString; + if (!mIsMultiline) + { + int crPos = insertString.IndexOf('\n'); + if (crPos != -1) + insertString = scope:: String(theString, 0, crPos); + } bool doCheck = true; @@ -1669,6 +1666,9 @@ namespace Beefy.widgets mCursorBlinkTicks = 0; + if (useChar == '\x7F') // Ctrl+Backspace + useChar = '\b'; + if (useChar == '\b') { if (!CheckReadOnly()) diff --git a/IDE/src/ui/SourceEditWidgetContent.bf b/IDE/src/ui/SourceEditWidgetContent.bf index 635afa6f..d218d164 100644 --- a/IDE/src/ui/SourceEditWidgetContent.bf +++ b/IDE/src/ui/SourceEditWidgetContent.bf @@ -2059,6 +2059,10 @@ namespace IDE.ui { scope AutoBeefPerf("SEWC.KeyChar"); + var keyChar; + if (keyChar == '\x7F') // Ctrl+Backspace + keyChar = '\b'; + if (mIgnoreKeyChar) { mIgnoreKeyChar = false;