Skip to content

Fixes in bit array initialization of unused bits

There was issues with one Windows build on the initialization of the last byte in vtkBitArray at the ParaView level (See this revert !7384 (merged)).

I don't know why, but the problem came from the static constexpr unsigned char[8] being initialized inside the method vtkBitArray::InitializeUnusedBitsInLastByte. For some reasons it failed on a specific build on Windows (the one not using kits). The weirdest about that is that in most of the broken tests after this change, this method was not being called.

Anyway, changing it as an attribute of vtkBitArray fixes the problem (see paraview/paraview!4683 (closed), where it was tested).

This MR puts back the reverted changes from !7384 (merged) into VTK, including the fix for Windows. The logic has been changed a little. InitializeUnusedBitsInLastByte is called more often, and the failing case MaxId == -1 is skipped inside the method, rather than outside the method in multiple locations.

Edited by Yohann Bearzi (Kitware)

Merge request reports