Didn't get around do posting a new entry until today, so this is the last 4 days worth of work on wine stuff :-)
-Added code to TOOLBAR_Paint/TOOLBAR_Refresh to only redraw buttons that are inside the invalidated rectangle. Previously whenever a WM_PAINT message was received all buttons were redrawn. As most toolbars have anywhere between 12 and 32 buttons, this was causing anywhere between 10 and 30 extra redraws when the user moved from one button to another as the change in the hot effect of the buttons only affects the button losing the hot effect and the button gaining the hot effect. The patch reduces the amount of processing performed when a toolbar receives a WM_PAINT message by anywhere between 85-95%.
-Fixed a bug in the tooltips code that was causing tooltips to not appear or be created properly.
-Added logic to the toolbar control so we only try to redraw buttons that had the hot effect applied to them, this stopped the redrawing of disabled buttons that showed no hot effect.