From 95c829a0455702cb96171dc5a1e5c1afc84132a9 Mon Sep 17 00:00:00 2001 From: Adam Cox Date: Sat, 14 Mar 2026 23:57:39 +0000 Subject: [PATCH] better handling of layer mask save during multimask update --- ohmg/core/models/layerset.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ohmg/core/models/layerset.py b/ohmg/core/models/layerset.py index d9b224ce..69d3bb82 100644 --- a/ohmg/core/models/layerset.py +++ b/ohmg/core/models/layerset.py @@ -165,8 +165,11 @@ def update_multimask_from_geojson(self, multimask_geojson): ## future patch: save mask directly to layers layer = Layer.objects.get(slug=layer_slug, region__document__map=self.map) - layer.mask = GEOSGeometry(json.dumps(feature["geometry"])) - layer.save(skip_map_lookup_update=True) + new_mask = GEOSGeometry(json.dumps(feature["geometry"])) + if new_mask != layer.mask: + logger.debug(f"updating mask on layer {layer.slug} ({layer.pk})") + layer.mask = new_mask + layer.save(skip_map_lookup_update=True, set_extent=False) else: self.multimask = None self.save(update_fields=["multimask"])