diff --git a/plugins/builtin/source/content/data_visualizers.cpp b/plugins/builtin/source/content/data_visualizers.cpp index 3f908f40f..1d9b6abf7 100644 --- a/plugins/builtin/source/content/data_visualizers.cpp +++ b/plugins/builtin/source/content/data_visualizers.cpp @@ -162,7 +162,7 @@ namespace hex::plugin::builtin { hex::unused(address, upperCase, startedEditing); if (size == ByteCount) { - return drawDefaultScalarEditingTextBox(address, getFormatString(upperCase), ImGui::getImGuiDataType(), data, ImGuiInputTextFlags_CharsScientific); + return drawDefaultScalarEditingTextBox(address, getFormatString(upperCase), ImGui::getImGuiDataType(), data, ImGuiInputTextFlags_CharsScientific); } else return false; diff --git a/plugins/builtin/source/ui/hex_editor.cpp b/plugins/builtin/source/ui/hex_editor.cpp index dd747e575..24323c11f 100644 --- a/plugins/builtin/source/ui/hex_editor.cpp +++ b/plugins/builtin/source/ui/hex_editor.cpp @@ -162,8 +162,11 @@ namespace hex::plugin::builtin::ui { if (this->m_shouldUpdateEditingValue && address == this->m_editingAddress) { this->m_shouldUpdateEditingValue = false; - this->m_editingBytes.resize(size); - std::memcpy(this->m_editingBytes.data(), data, size); + + if (this->m_editingBytes.size() < size) { + this->m_editingBytes.resize(size); + std::memcpy(this->m_editingBytes.data(), data, size); + } } if (this->m_editingAddress != address || this->m_editingCellType != cellType) {