Skip to content

Commit 62ce43a

Browse files
authored
Merge pull request #904 from AoE-Maniac/v1_filereader_fix
Fix filereader crash when the file doesn't exist
2 parents 8771182 + 5acee27 commit 62ce43a

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

Sources/Kore/IO/FileReader.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,8 @@ namespace Kore {
2323
kinc_file_reader_t reader;
2424
FileType type;
2525
void *readdata;
26+
27+
private:
28+
bool fileOpen;
2629
};
2730
}

Sources/Kore/IO/FileReader.winrt.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
using namespace Kore;
1111

12-
FileReader::FileReader() : readdata(nullptr) {}
12+
FileReader::FileReader() : readdata(nullptr), fileOpen(false) {}
1313

1414
FileReader::FileReader(const char *filename, FileType type) : readdata(nullptr) {
1515
if (!open(filename, type)) {
@@ -18,7 +18,8 @@ FileReader::FileReader(const char *filename, FileType type) : readdata(nullptr)
1818
}
1919

2020
bool FileReader::open(const char *filename, FileType type) {
21-
return kinc_file_reader_open(&reader, filename, (int)type);
21+
fileOpen = kinc_file_reader_open(&reader, filename, (int)type);
22+
return fileOpen;
2223
}
2324

2425
size_t FileReader::read(void *data, size_t size) {
@@ -45,7 +46,9 @@ void FileReader::close() {
4546
}
4647

4748
FileReader::~FileReader() {
48-
close();
49+
if (fileOpen) {
50+
close();
51+
}
4952
}
5053

5154
size_t FileReader::pos() {

0 commit comments

Comments
 (0)