These are comments about the patch that I submitted. Since it is a fairly significant change, and I don't yet have much of a track record (and am admittedly not a programmer by training or profession) I thought some detailed comments were in order.
I have two applications, Xilinx fpga_editor and Actel designer, where the toolbars did not work. They were drawn fine, tooltips worked, and when clicked, they put messages into the status bar indicating what they were supposed to do. But the actual actions were never performed.
Tracing the apps, I found that what was happening was that upon LBUTTONUP, the applications for whatever reason explicitly called ReleaseCapture() before TOOLBAR_LButtonUp() was executed. This caused TOOLBAR_LButtonUp() to be called with infoPtr->bCaptured == 0 and infoPtr->nButtonDown == -1, as would be expected. However, this also caused almost all of the code in the routine to be skipped, since most of it is contained within the large if(){} section.
So I got ControlSpy and figured out how to get that to compile and run (under Borland C++Builder), and was able to modify it to explicitly call ReleaseCapture() before the TOOLBAR_LButtonUp(). This I did in the routine GetMsgProc() in ControlSpy, by testing for the correct hwnd and message before explicitely calling ReleaseCapture. I kind of expected CallWndProc() to be the right place, but it did not seem to be, and I really don't understand it well enough yet to know why.
In any case, running this modified version (and the original version to compare results) under WinNT, I saw that the when ReleaseCapture is explicitely called before TOOLBAR_LButtonUp(), that all the same messages and notifications are still generated, with the exception that WM_CAPTURECHANGED does not get sent. And that is as expected, since it was already sent by the explicit call to ReleaseCapture().
So the patch modifies TOOLBAR_LButtonUp() to duplicate this behavior. It fixes both of the apps that were having the toolbar problem, and in the case of fpga_editor, it supports rebar and the toolbar continues to work. And I have tested it on a half dozen other apps, and all seem to be working fine.