LocalPlayer::accelerateHorizontal: cleanups
[oweals/minetest.git] / src / nodedef.cpp
index 6bb2bf9047792cac1c699f1fd86a4f6a89b5f55b..fc404f252a73da4d789e3908edfbe9bf83c1d11b 100644 (file)
@@ -637,7 +637,10 @@ void ContentFeatures::fillTileAttribs(ITextureSource *tsrc, TileLayer *tile,
                tile->material_flags &= ~MATERIAL_FLAG_ANIMATION;
        } else {
                std::ostringstream os(std::ios::binary);
-               tile->frames.resize(frame_count);
+               if (!tile->frames) {
+                       tile->frames = std::make_shared<std::vector<FrameSpec>>();
+               }
+               tile->frames->resize(frame_count);
 
                for (int i = 0; i < frame_count; i++) {
 
@@ -652,7 +655,7 @@ void ContentFeatures::fillTileAttribs(ITextureSource *tsrc, TileLayer *tile,
                        if (tile->normal_texture)
                                frame.normal_texture = tsrc->getNormalTexture(os.str());
                        frame.flags_texture = tile->flags_texture;
-                       tile->frames[i] = frame;
+                       (*tile->frames)[i] = frame;
                }
        }
 }