http://bugs.winehq.org/show_bug.cgi?id=7085
------- Additional Comments From rmay@ou.edu 2007-28-03 09:28 -------
The text field that acts as a filter has a window timer installed that fires every 100 msec. When the timer fires, it checks to see if the text has changed since the last call and sends a custom window message (msg == 1001) to its parent window.
According to one of the Weatherscope developers, this is how the filtering works:
When the parent window receives that message, it rebuilds the radar combo box using the same function it used when it was originally constructed. The only difference it that now it has a filter string to apply to the radar names. When we rebuild the combo box, we completely remove all of the items and add back the ones that match the filter string one at a time.
So, as far as Win32 is concerned, there should be a WM_TIMER message firing on the text field's HWND about 10 times a second. A custom window message of 1001 should be sent to the radar dialog's HWND if the text was changed between successive timer messages. We use SendMessage to add and remove items from the combo box (CB_DELETESTRING to remove, CB_INSERTSTRING to add).
As far as I can tell from a +message,+edit,+combo trace, the WM_TIMER messages stop being dispatched once one clicks in the line edit, and instead I see WM_SYSTIMER messages being sent. After the aforementioned clicking around, the WM_TIMER messages are sent again and filtering works. Anyone have _any_ idea what could be going on here?