Hmm, maybe you need to call update() on the viewport() widget.

Cheers,
_