Having another look at this method, I'm not sure the original was quite correct. I think the logic should be:
```
if (p_tooltip is exactly equal to tooltip)
  return (there is nothing to do as the tooltip field of the object is not changing).

assign new tooltip

if (focused == this) -- i.e. this object might be displaying its tooltip
  MCtooltip -> settip(tooltip) -- makesure the actual (potentially visible) tooltip is updated
```
In particular, there's no need to redraw the object at any point.