"Alexander Yaworsky" yaworsky@migusoft.ru wrote:
http://migusoft.ru/misc/trace.bz2
with added ERR()s, see attachment
I cut the tail of log just before the first err:listbox. Note that there are two listboxes on the form. Both are initialized ok, wrong things begin after WM_KEYDOWN.
Thanks, now I see where the problem is. In responce to WM_DRAWITEM the app does:
SendMessage(hwndListbox, LB_GETITEMRECT, 0, &rc); InvalidateRect(hwndListbox, &rc, FALSE); UpdateWindow(hwndListbox);
which leads to an infinite loop.
A test program is needed to investigate what happens under Windows in that case. If you have time please don't wait for me, go ahead and write one, I'll have time to look at the problem only on weekend.
P.S. In order to eliminate a lot of garbage in the relay logs I'm using the following filter in ~/.wine/config:
[Debug] "RelayExclude" = "RtlEnterCriticalSection;RtlLeaveCriticalSection;_EnterSysLevel;_LeaveSysLevel;_ConfirmSysLevel;LOCAL_Alloc;LOCAL_Lock;LOCAL_Unlock; LOCAL_Free;GDI_GetObjPtr;GDI_ReleaseObj;WIN_GetPtr;WIN_FindWndPtr;WIN_ReleaseWndPtr;USER_Unlock"
It makes relay logs a lot smaller and much more readable, give it a try.
-- Dmitry.