Compare commits

..

7 Commits

Author SHA1 Message Date
WerWolv
60eb59c605 build: Bumped version to 1.23.1 2022-09-17 09:00:39 +02:00
WerWolv
6a7bbb8752 fix: Crash on some Linux systems when opening files 2022-09-17 08:55:18 +02:00
WerWolv
e4431749e1 patterns: Updated pattern language 2022-09-16 15:12:12 +02:00
WerWolv
c587b357eb patterns: Updated pattern language 2022-09-16 10:52:49 +02:00
WerWolv
7357c26d54 ux: Pre-fill remove popup size value with current selection size 2022-09-16 08:33:18 +02:00
WerWolv
73ca45ad3d git: Updated winget-create to the latest release 2022-09-16 08:30:42 +02:00
WerWolv
bf00503d1f fix: BufferedReader messing up the second to last byte 2022-09-16 08:30:28 +02:00
7 changed files with 12 additions and 8 deletions

View File

@@ -133,7 +133,7 @@ jobs:
- name: ⬇️ Download dependencies
shell: pwsh
run: |
iwr https://github.com/microsoft/winget-create/releases/download/v1.0.4.0/wingetcreate.exe -OutFile wingetcreate.exe
iwr https://github.com/microsoft/winget-create/releases/download/v1.1.2.0/wingetcreate.exe -OutFile wingetcreate.exe
- name: ⬆️ Update winget manifest
shell: pwsh
env:

View File

@@ -1 +1 @@
1.23.0
1.23.1

View File

@@ -24,6 +24,9 @@ namespace hex::prv {
}
void setEndAddress(u64 address) {
if (address >= this->m_provider->getActualSize())
address = this->m_provider->getActualSize() - 1;
this->m_endAddress = address;
}
@@ -256,7 +259,7 @@ namespace hex::prv {
private:
void updateBuffer(u64 address, size_t size) {
if (!this->m_bufferValid || address < this->m_bufferAddress || address + size > (this->m_bufferAddress + this->m_buffer.size())) {
const auto remainingBytes = (this->m_endAddress - address) - 1;
const auto remainingBytes = (this->m_endAddress - address) + 1;
if (remainingBytes < this->m_maxBufferSize)
this->m_buffer.resize(remainingBytes);
else

View File

@@ -247,7 +247,7 @@ namespace hex {
}
bool isValid() {
return !s_providers.empty() && s_currentProvider < i64(s_providers.size());
return !s_providers.empty() && s_currentProvider >= 0 && s_currentProvider < i64(s_providers.size());
}
void markDirty() {

View File

@@ -18,7 +18,7 @@ namespace hex::plugin::builtin {
auto reader = prv::BufferedReader(provider);
reader.seek(offset);
reader.setEndAddress(offset + size);
reader.setEndAddress(offset + size - 1);
u64 index = 0x00;
for (u8 byte : reader) {
@@ -160,7 +160,7 @@ namespace hex::plugin::builtin {
auto reader = prv::BufferedReader(provider);
reader.seek(offset);
reader.setEndAddress(offset + size);
reader.setEndAddress((offset + size) - 1);
u64 address = offset & ~u64(0x0F);
std::string asciiRow;

View File

@@ -1576,7 +1576,8 @@ namespace hex::plugin::builtin {
}
if (ImGui::MenuItem("hex.builtin.view.hex_editor.menu.edit.remove"_lang, nullptr, false, providerValid && provider->isResizable())) {
this->openPopup<PopupRemove>(this->getSelection().getStartAddress(), 0x00);
auto selection = this->getSelection();
this->openPopup<PopupRemove>(selection.getStartAddress(), selection.getSize());
}
});
}