Browse Source

Fix autoscale_mode segfault if tile doesn't have texture

closes #9965
tags/5.3.0
sfan5 1 month ago
parent
commit
0e698e63b3
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      src/nodedef.cpp

+ 3
- 2
src/nodedef.cpp View File

@@ -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);


Loading…
Cancel
Save