diff --git a/plugins/ui/source/ui/hex_editor.cpp b/plugins/ui/source/ui/hex_editor.cpp index 3f84f31c2..38041d01a 100644 --- a/plugins/ui/source/ui/hex_editor.cpp +++ b/plugins/ui/source/ui/hex_editor.cpp @@ -190,11 +190,6 @@ namespace hex::ui { } } else { - if (m_enteredEditingMode) { - ImGui::SetKeyboardFocusHere(); - ImGui::SetNextFrameWantCaptureKeyboard(true); - } - bool shouldExitEditingMode = true; if (cellType == m_editingCellType && cellType == CellType::Hex) { std::vector buffer = m_editingBytes; @@ -212,6 +207,11 @@ namespace hex::ui { shouldExitEditingMode = asciiVisualizer.drawEditing(*m_editingAddress, m_editingBytes.data(), m_editingBytes.size(), m_upperCaseHex, m_enteredEditingMode); } + if (ImGui::IsWindowFocused()) { + ImGui::SetKeyboardFocusHere(-1); + ImGui::SetNextFrameWantCaptureKeyboard(true); + } + if (shouldExitEditingMode || m_shouldModifyValue) { { std::vector oldData(m_editingBytes.size());