From e6abd8249daa5b93420027903354377e2190bdef Mon Sep 17 00:00:00 2001 From: Alan Liddell Date: Mon, 22 Apr 2024 16:34:25 -0400 Subject: [PATCH] Clear `Zarr::acquisition_dimensions_` before setting (#241) In case we reuse the Zarr storage object, we want this to be empty before we start appending. --- CHANGELOG.md | 6 ++++++ src/zarr.cpp | 2 ++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49359e64..89315ce4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.1.11](https://github.com/acquire-project/acquire-driver-zarr/compare/v0.1.10..v0.1.11) - 2024-04-22 + +### Fixed + +- Acquisition dimensions can be reconfigured without causing a crash. + ## [0.1.10](https://github.com/acquire-project/acquire-driver-zarr/compare/v0.1.9..v0.1.10) - 2024-03-29 ### Added diff --git a/src/zarr.cpp b/src/zarr.cpp index 612535f7..57cb7d86 100644 --- a/src/zarr.cpp +++ b/src/zarr.cpp @@ -563,6 +563,8 @@ zarr::Zarr::set_dimensions_(const StorageProperties* props) const auto dimension_count = props->acquisition_dimensions.size; EXPECT(dimension_count > 2, "Expected at least 3 dimensions."); + acquisition_dimensions_.clear(); + for (auto i = 0; i < dimension_count; ++i) { CHECK(props->acquisition_dimensions.data[i].name.str); Dimension dim(props->acquisition_dimensions.data[i]);