[Bug] 'GetTimeKeeper().Time=10.0' doesn't update global time

I would like to set Paraview’s global time programmatically from the Python Shell (and later from a plugin).
I open a PVD file ‘results.pvd’ containing several time steps from Paraviews menu. Then I execute the following code in the Python Shell:


def setTime(tx):


The Render View now shows the correct data for Time=10.0. But the Time display next to Paraview’s VCR buttons shows “Time: 0.1 | 0 | (max is 499)”. Nothing changes in this display, when I execute the above python code.

This looks like a bug, because the TimeKeeper is supposed to signal the new time to the Time display.

Secondly, it seems strange that I need both commands “tk.Time=tx” and “r.UpdatePipeline(tx)”. If I leave out any of the commands inside the function setTime(tx), the time won’t be updated. Shouldn’t it suffice to set the TimeKeepers time, which forwards the time to all registered sources?


To add more explanation to this bug report:

The vtkSMTimeKeeper describes:
To change the time shown by all the views, simply change the "Time" property on the time keeper proxy (don't directly call SetTime() since otherwise undo/redo, state etc. will not work as expected).

This is exactly what the previous python script does, but only the PVD reader’s time is set, not the global time for all views.
Is it possible to fix this bug or at least find a workaround?

Many thanks,