Fix autoscale_mode segfault if tile doesn't have texture

closes #9965
Cette révision appartient à :
sfan5 2020-06-01 21:19:35 +02:00
Parent 42a9b45c21
révision 0e698e63b3
1 fichiers modifiés avec 3 ajouts et 2 suppressions

Voir le fichier

@ -608,8 +608,9 @@ static void fillTileAttribs(ITextureSource *tsrc, TileLayer *layer,
layer->material_type = material_type;
bool has_scale = tiledef.scale > 0;
if (((tsettings.autoscale_mode == AUTOSCALE_ENABLE) && !has_scale) ||
(tsettings.autoscale_mode == AUTOSCALE_FORCE)) {
bool use_autoscale = tsettings.autoscale_mode == AUTOSCALE_FORCE ||
(tsettings.autoscale_mode == AUTOSCALE_ENABLE && !has_scale);
if (use_autoscale && layer->texture) {
auto texture_size = layer->texture->getOriginalSize();
float base_size = tsettings.node_texture_size;
float size = std::fmin(texture_size.Width, texture_size.Height);