fix: Crashes when resizing file

Fixes #721
This commit is contained in:
WerWolv
2022-09-04 11:16:20 +02:00
parent 45e987b413
commit d9a47fe815
13 changed files with 27 additions and 25 deletions

View File

@@ -70,8 +70,8 @@ namespace hex::prv {
[[nodiscard]] virtual std::string getName() const = 0;
[[nodiscard]] virtual std::vector<std::pair<std::string, std::string>> getDataInformation() const = 0;
[[nodiscard]] virtual bool open();
virtual void close();
[[nodiscard]] virtual bool open() = 0;
virtual void close() = 0;
void addPatch(u64 offset, const void *buffer, size_t size, bool createUndo = false);
void createUndoPoint();

View File

@@ -308,6 +308,8 @@ namespace hex {
setCurrentProvider(0);
provider->close();
EventManager::post<EventProviderClosed>(provider);
delete provider;
}

View File

@@ -170,14 +170,6 @@ namespace hex::prv {
return page;
}
bool Provider::open() {
EventManager::post<EventProviderOpened>(this);
return true;
}
void Provider::close() {
EventManager::post<EventProviderClosed>(this);
}
void Provider::addPatch(u64 offset, const void *buffer, size_t size, bool createUndo) {
if (this->m_patchTreeOffset > 0) {
auto iter = this->m_patches.end();