diff --git a/src/saland/console/Console.cpp b/src/saland/console/Console.cpp index fa4c405..0688ecc 100644 --- a/src/saland/console/Console.cpp +++ b/src/saland/console/Console.cpp @@ -118,7 +118,7 @@ void Console::Draw(SDL_Renderer* target) { if (ImGui::InputText("Input", inputBuffer, IM_ARRAYSIZE(inputBuffer), input_flags, &TextEditCallbackStub, (void*)this)) { std::string command(inputBuffer); if (!command.empty()) { - ProcessCommand(command); + pendingCommand = command; inputBuffer[0] = '\0'; reclaim_focus = true; } @@ -286,5 +286,8 @@ int Console::TextEditCallback(ImGuiInputTextCallbackData* data) { } void Console::Update() { - return; + if (pendingCommand.length()) { + ProcessCommand(pendingCommand); + pendingCommand.clear(); + } } diff --git a/src/saland/console/Console.hpp b/src/saland/console/Console.hpp index 6954af6..7ce3715 100644 --- a/src/saland/console/Console.hpp +++ b/src/saland/console/Console.hpp @@ -76,6 +76,7 @@ private: bool scrollToBottom; std::vector completionCandidates; int completionIndex; + std::string pendingCommand; }; #endif /* CONSOLE_HPP */