diff --git a/NEWS.md b/NEWS.md index 6c97972..6e6756f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -9,9 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fixed `BlockPMatrix{V}(::UndefInitializer, rows, cols)` constructor dropping the `cols` argument, causing a `MethodError` at runtime. Since PR[#194](https://github.com/gridap/GridapDistributed.jl/pull/194). -- Fixed `local_views(::BlockPMatrix, rows, cols)` indexing 1D block-range vectors with a 2D `CartesianIndex`, causing `BoundsError` for any multi-field problem with ≥2 fields. Since PR[#194](https://github.com/gridap/GridapDistributed.jl/pull/194). -- Fixed `mul!(y::BlockPVector, A::BlockPMatrix, x::BlockPVector, α, β)` computing `α*β*(A*x)` instead of `α*(A*x) + β*y`; the 3-arg `mul!` was also updated to correctly zero `y` before accumulating. Since PR[#194](https://github.com/gridap/GridapDistributed.jl/pull/194). +- Fixed `BlockPMatrix{V}(::UndefInitializer, rows, cols)` constructor dropping the `cols` argument, causing a `MethodError` at runtime. +- Fixed `local_views(::BlockPMatrix, rows, cols)` indexing 1D block-range vectors with a 2D `CartesianIndex`, causing `BoundsError` for any multi-field problem with ≥2 fields. +- Fixed `mul!(y::BlockPVector, A::BlockPMatrix, x::BlockPVector, α, β)` computing `α*β*(A*x)` instead of `α*(A*x) + β*y`; the 3-arg `mul!` was also updated to correctly zero `y` before accumulating. +- Replaced fragile closure side-effect in `DistributedVisualizationData.filebase` with `getany(map(...))` for correct and idiomatic behaviour in both debug and MPI modes. ## [0.4.11] - 2026-02-20 diff --git a/src/Visualization.jl b/src/Visualization.jl index 0535e22..cfaafb3 100644 --- a/src/Visualization.jl +++ b/src/Visualization.jl @@ -10,11 +10,7 @@ function Base.getproperty(x::DistributedVisualizationData, sym::Symbol) if sym == :grid map(i->i.grid,x.visdata) elseif sym == :filebase - r=nothing - map(x.visdata) do visdata - r = visdata.filebase - end - r + getany(map(i->i.filebase,x.visdata)) elseif sym == :celldata map(i->i.celldata,x.visdata) elseif sym == :nodaldata diff --git a/test/sequential/VisualizationTests.jl b/test/sequential/VisualizationTests.jl new file mode 100644 index 0000000..121825d --- /dev/null +++ b/test/sequential/VisualizationTests.jl @@ -0,0 +1,7 @@ +module VisualizationTestsSeq + include("../VisualizationTests.jl") + using PartitionedArrays + with_debug() do distribute + VisualizationTests.main(distribute,(2,2)) + end +end