summaryrefslogtreecommitdiffstats
path: root/scene/2d/tile_map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/2d/tile_map.cpp')
-rw-r--r--scene/2d/tile_map.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index 3b19cb5566..1f70d4b558 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -3072,8 +3072,12 @@ void TileMap::_internal_update() {
return;
}
+ // FIXME: This should only clear polygons that are no longer going to be used, but since it's difficult to determine,
+ // the cache is never cleared at runtime to prevent invalidating used polygons.
+ if (Engine::get_singleton()->is_editor_hint()) {
+ polygon_cache.clear();
+ }
// Update dirty quadrants on layers.
- polygon_cache.clear();
for (Ref<TileMapLayer> &layer : layers) {
layer->internal_update();
}