[Wine] WM_TIMER stops being sent?

Ryan May rmay at ou.edu
Tue Mar 27 14:38:36 CDT 2007


Hi,

I've got a problem with Weatherscope (available freely here: 
http://sdg.ocs.ou.edu/builds/final/win/WeatherScope/WeatherScope-1.4.1.exe) 
where the filtering of combo boxes using text typed in a line edit is 
broken. (Bug here: http://bugs.winehq.org/show_bug.cgi?id=7085) This can 
be seen by running the program (full path required), selecting product 
(from the invisible menubar) and going to "New Radar". Typing "ok" into 
the filter should give several sites to select from in the "site" combo 
box.  Instead some clicking around to other widgets and clicking back to 
the line edit is necessary to get the combo box to be updated. 
According to one of the Weatherscope developers, it works as follows:

 >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.

 >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 (available if 
anyone wants), 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?

Another problem is that the combo box is empty when the "filter" line 
edit is empty; the filter should be ignored in this case and all choices 
should be displayed.  I haven't managed to see what's wrong here, nor do 
I really know where to start.

Thanks in advance for any help,

Ryan

-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma




More information about the wine-users mailing list