mirror of
https://github.com/huderlem/porymap.git
synced 2026-07-30 06:39:07 -05:00
Fix crash if region map tileset file is too small
This commit is contained in:
parent
1c2be70ff0
commit
79955715dd
|
|
@ -79,12 +79,17 @@ bool RegionMap::loadTilemap(poryjson::Json tilemapJson) {
|
|||
this->palette_path = tilemapObject["palette"].string_value();
|
||||
}
|
||||
|
||||
QFileInfo tilesetFileInfo(fullPath(this->tileset_path));
|
||||
if (!tilesetFileInfo.exists() || !tilesetFileInfo.isFile()) {
|
||||
QImage tilesetFile(fullPath(this->tileset_path));
|
||||
if (tilesetFile.isNull()) {
|
||||
logError(QString("Failed to open region map tileset file '%1'.").arg(tileset_path));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (tilesetFile.width() < 8 || tilesetFile.height() < 8) {
|
||||
logError(QString("Region map tileset file '%1' must be at least 8x8.").arg(tileset_path));
|
||||
return false;
|
||||
}
|
||||
|
||||
QFile tilemapFile(fullPath(this->tilemap_path));
|
||||
if (!tilemapFile.open(QIODevice::ReadOnly)) {
|
||||
logError(QString("Failed to open region map tilemap file '%1'.").arg(tilemap_path));
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user