@Jeff, this actually isn't due to the lack of static variable initialization. What seems to happen is that the static variables maintain their value across the pcbnew instances on Linux (so the .so is probably not unloaded). This means the checks saying if the bitmap should be rebuilt say not to when pcbnew is run the second time.
To fix this, we just need to force the bitmap to be rebuilt on menu creation. See the attached patch.
@Jeff, this actually isn't due to the lack of static variable initialization. What seems to happen is that the static variables maintain their value across the pcbnew instances on Linux (so the .so is probably not unloaded). This means the checks saying if the bitmap should be rebuilt say not to when pcbnew is run the second time.
To fix this, we just need to force the bitmap to be rebuilt on menu creation. See the attached patch.