mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Fix issue caused by iData->BufTextLen always being NULL in ImGuiInputTextFlags_CallbackCharFilter
iData->BufTextLen is always 0 in the ImGuiInputTextFlags_CallbackCharFilter event. ImGuiInputTextFlags_CallbackAlways is called before ImGuiInputTextFlags_CallbackCharFilter in the same frame, so we can obtain the lenght from there and perform the test to discard unwanted characters from the input field.
This commit is contained in:
parent
5564c4f29b
commit
5dd5f2ad11
@ -34,6 +34,7 @@ CConsole::CConsole(void)
|
||||
, m_nSuggestPos(-1)
|
||||
, m_nScrollBack(0)
|
||||
, m_nSelectBack(0)
|
||||
, m_nInputTextLen(0)
|
||||
, m_flScrollX(0.f)
|
||||
, m_flScrollY(0.f)
|
||||
, m_flFadeAlpha(0.f)
|
||||
@ -851,9 +852,10 @@ int CConsole::TextEditCallback(ImGuiInputTextCallbackData* iData)
|
||||
}
|
||||
case ImGuiInputTextFlags_CallbackAlways:
|
||||
{
|
||||
m_nInputTextLen = iData->BufTextLen;
|
||||
if (m_bModifyInput) // User entered a value in the input field.
|
||||
{
|
||||
iData->DeleteChars(0, iData->BufTextLen);
|
||||
iData->DeleteChars(0, m_nInputTextLen);
|
||||
m_bSuggestActive = false;
|
||||
|
||||
if (!m_svInputConVar.empty()) // User selected a ConVar from the suggestion window, copy it to the buffer.
|
||||
@ -868,7 +870,7 @@ int CConsole::TextEditCallback(ImGuiInputTextCallbackData* iData)
|
||||
case ImGuiInputTextFlags_CallbackCharFilter:
|
||||
{
|
||||
const ImWchar c = iData->EventChar;
|
||||
if (!iData->BufTextLen)
|
||||
if (!m_nInputTextLen)
|
||||
{
|
||||
if (c == '~' || c == ' ') // Discard space and tilde character as first input.
|
||||
{
|
||||
@ -886,7 +888,7 @@ int CConsole::TextEditCallback(ImGuiInputTextCallbackData* iData)
|
||||
}
|
||||
case ImGuiInputTextFlags_CallbackEdit:
|
||||
{
|
||||
if (iData->BufTextLen)
|
||||
if (iData->BufTextLen) // Attempt to build a summary..
|
||||
{
|
||||
m_bCanAutoComplete = true;
|
||||
BuildSummary(iData->Buf);
|
||||
|
@ -72,6 +72,7 @@ private:
|
||||
ssize_t m_nSuggestPos;
|
||||
int m_nScrollBack;
|
||||
int m_nSelectBack;
|
||||
int m_nInputTextLen;
|
||||
float m_flScrollX;
|
||||
float m_flScrollY;
|
||||
float m_flFadeAlpha;
|
||||
|
Loading…
x
Reference in New Issue
Block a user