On Thu, 2002-02-21 at 19:31, lawson_whitney@juno.com wrote: > On 21 Feb 2002, Rick Romero wrote: > > > Nope. No joy :/ > > What no native msvcrt? Not a viral Crud++ app? I have no idea. It's the Visual Foxpro development environment. It could very well have been written in C++ at Microsoft. > > > > > > Or try winedbg and set a breakpoint. > > > > That's probably beyond me.. but I have some time :) > > > > Thanks > > Rick > > > Did I mention that sometimes when you don't have a clue hehe I KNOW I don't have a clue, but you didn't have to point it out :D > --debugmsg +relay > can give you a good starting point to see what it is you have to contend > with? Sure, it makes a big trace file, but it has pretty near all the > interaction between the app and Wine. Actually, I am more likely to use > > --debugmsg $relay > > echo $relay > -relay=rtlentercriticalsection:RTLleavecriticalsection:rtldeletecriticalsection:initializecriticalsection:interlockedincrement:interlockeddecrement > > That weeds out a lot of the more repetitive and often meaningless relay > messages. > > cat .bashrc|grep relay > export relay="-relay=rtlentercriticalsection:RTLleavecriticalsection:rtldeletecriticalsection:initializecriticalsection:interlockedincrement:interlockeddecrement" > Wonderful.. I'll try this in a bit... > I'd much rather debug a crash than wrong results. In effect, a crash is > a problem with a builtin breakpoint. Exactly my thoughts. My interpretation of the results, is SetCapture() is exectuted (button down), and a SetCapture() button up is never re-executed, maybe because of some while loop that's not being triggered because of some weird FoxPro usage... Well, I decided to do the relay before I sent the mail, and I do see something.. but nothing too peculiar.. Working (wine 2001-05-10) trace:win:SetCapture SetCapture calling EVENT_Capture trace:win:EVENT_Capture (0x0138) trace:win:EVENT_Capture Releasing wndPtr - Prev (0) Wnd(312) 080651c0:Ret user32.SetCapture() retval=00000000 ret=0065fe45 080651c0:Call user32.GetQueueStatus(00000006) ret=0049df89 080651c0:Ret user32.GetQueueStatus() retval=00060002 ret=0049df89 080651c0:Call user32.PeekMessageA(40626a34,00000000,00000200,00000209,00000003) ret=0049e0f0 080651c0:Ret user32.PeekMessageA() retval=00000001 ret=0049e0f0 080651c0:Call user32.TranslateMessage(40626a34) ret=00508594 080651c0:Ret user32.TranslateMessage() retval=00000000 ret=00508594 080651c0:Call user32.DispatchMessageA(40626a34) ret=0049e411 080651c0:Call window proc 0x4a0786 (hwnd=00000138,msg=WM_MOUSEMOVE,wp=00000001,lp=0015001e) 080651c0:Call user32.ClientToScreen(00000138,40626838) ret=0050aea1 080651c0:Ret user32.ClientToScreen() retval=00000001 ret=0050aea1 080651c0:Call kernel32.GetTickCount() ret=0049df02 <snip bunch of WM_MOUSEMOVEs> user32.PeekMessageA(40626a34,00000000,00000200,00000209,00000003) ret=0049e0f0 080651c0:Ret user32.PeekMessageA() retval=00000001 ret=0049e0f0 080651c0:Call user32.TranslateMessage(40626a34) ret=00508594 080651c0:Ret user32.TranslateMessage() retval=00000000 ret=00508594 080651c0:Call user32.DispatchMessageA(40626a34) ret=0049e411 080651c0:Call window proc 0x4a0786 (hwnd=00000138,msg=WM_LBUTTONUP,wp=00000000,lp=0015001e) 080651c0:Call user32.ClientToScreen(00000138,40626838) ret=0050afce 080651c0:Ret user32.ClientToScreen() retval=00000001 ret=0050afce 080651c0:Call kernel32.GetTickCount() ret=0049df02 080651c0:Ret kernel32.GetTickCount() retval=0000b1ab ret=0049df02 080651c0:Call user32.GetKeyState(00000011) ret=0049df3b 080651c0:Ret user32.GetKeyState() retval=00000000 ret=0049df3b 080651c0:Call user32.GetKeyState(00000010) ret=0049df48 080651c0:Ret user32.GetKeyState() retval=00000000 ret=0049df48 080651c0:Call user32.GetKeyState(00000012) ret=0049df55 080651c0:Ret user32.GetKeyState() retval=00000000 ret=0049df55 080651c0:Call user32.GetCursorPos(406267cc) ret=0049dfa1 080651c0:Ret user32.GetCursorPos() retval=00000001 ret=0049dfa1 080651c0:Call user32.DefWindowProcA(00000138,00000202,00000000,0015001e) ret=004a088b 080651c0:Ret user32.DefWindowProcA() retval=00000000 ret=004a088b 080651c0:Ret window proc 0x4a0786 (hwnd=00000138,msg=WM_LBUTTONUP,wp=00000000,lp=0015001e) retval=00000000 080651c0:Ret user32.DispatchMessageA() retval=00000000 ret=0049e411 080651c0:Call user32.GetQueueStatus(00000006) ret=0049df89 080651c0:Ret user32.GetQueueStatus() retval=00060000 ret=0049df89 080651c0:Call user32.PeekMessageA(40626a34,00000000,00000200,00000209,00000003) ret=0049e0f0 080651c0:Ret user32.PeekMessageA() retval=00000001 ret=0049e0f0 080651c0:Call user32.TranslateMessage(40626a34) ret=00508594 080651c0:Ret user32.TranslateMessage() retval=00000000 ret=00508594 080651c0:Call user32.DispatchMessageA(40626a34) ret=0049e411 080651c0:Call window proc 0x4a0786 (hwnd=00000138,msg=WM_MOUSEMOVE,wp=00000000,lp=0016001e) ----------------------------------- Non-Working (wine-2002-02-20 cvs) trace:win:SetCapture Calling Event_Capture trace:win:EVENT_Capture (0x20021) Window #!! -Maybe? trace:win:EVENT_Capture About to Return from Event Capture!!! Prev(0) Wnd(131105) 0806d550:Ret user32.SetCapture() retval=00000000 ret=0065fe45 0806d550:Call user32.GetQueueStatus(00000006) ret=0049df89 0806d550:Ret user32.GetQueueStatus() retval=00040000 ret=0049df89 0806d550:Call user32.PeekMessageA(405b6a0c,00000000,00000200,00000209,00000003) ret=0049e0f0 0806d550:Call x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=40685c14 0806d550:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000102 ret=40685c14 0806d550:Ret user32.PeekMessageA() retval=00000001 ret=0049e0f0 0806d550:Call user32.TranslateMessage(405b6a0c) ret=00508594 0806d550:Ret user32.TranslateMessage() retval=00000000 ret=00508594 0806d550:Call user32.DispatchMessageA(405b6a0c) ret=0049e411 0806d550:Call window proc 0x4a0786 (hwnd=00020021,msg=WM_LBUTTONUP,wp=00000000,lp=0025005c) 0806d550:Call user32.ClientToScreen(00020021,405b67f0) ret=0050afce 0806d550:Ret user32.ClientToScreen() retval=00000001 ret=0050afce 0806d550:Call kernel32.GetTickCount() ret=0049df02 0806d550:Ret kernel32.GetTickCount() retval=00012124 ret=0049df02 0806d550:Call user32.GetKeyState(00000011) ret=0049df3b 0806d550:Ret user32.GetKeyState() retval=00000000 ret=0049df3b 0806d550:Call user32.GetKeyState(00000010) ret=0049df48 0806d550:Ret user32.GetKeyState() retval=00000000 ret=0049df48 0806d550:Call user32.GetKeyState(00000012) ret=0049df55 0806d550:Ret user32.GetKeyState() retval=00000000 ret=0049df55 0806d550:Call user32.GetCursorPos(405b6784) ret=0049dfa1 0806d550:Call x11drv.GetCursorPos(405b6784) ret=406ca191 0806d550:Ret x11drv.GetCursorPos() retval=000001fd ret=406ca191 0806d550:Ret user32.GetCursorPos() retval=00000001 ret=0049dfa1 0806d550:Call user32.DefWindowProcA(00020021,00000202,00000000,0025005c) ret=004a088b 0806d550:Ret user32.DefWindowProcA() retval=00000000 ret=004a088b 0806d550:Ret window proc 0x4a0786 (hwnd=00020021,msg=WM_LBUTTONUP,wp=00000000,lp=0025005c) retval=00000000 0806d550:Ret user32.DispatchMessageA() retval=00000000 ret=0049e411 0806d550:Call user32.GetQueueStatus(00000006) ret=0049df89 0806d550:Ret user32.GetQueueStatus() retval=00040000 ret=0049df89 0806d550:Call user32.PeekMessageA(405b6a0c,00000000,00000200,00000209,00000003) ret=0049e0f0 0806d550:Call x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=40685c14 0806d550:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000000 ret=40685c14 0806d550:Ret user32.PeekMessageA() retval=00000001 ret=0049e0f0 0806d550:Call user32.TranslateMessage(405b6a0c) ret=00508594 0806d550:Ret user32.TranslateMessage() retval=00000000 ret=00508594 0806d550:Call user32.DispatchMessageA(405b6a0c) ret=0049e411 0806d550:Call window proc 0x4a0786 Maybe someone can get something out of that.. I've been comparing them for the past 30 minutes and I can't see anything significant... Interesting x11drv returns a different GetCurPos() The 2nd Get QueueStatus after the 2nd WM_LBUTTONUP has a different reval=00040000 on the "bad", where the "good" is reval=00060000" I wouldn't know where to go from here, but maybe it'll help someone else. I can run comparisons for anyone if they'd like, though I never figured out how to save a trace to a file, > didn't work, so I'm just scrolling now :/ Thanks for your time Lawson. Rick > Oh well. Wine build complete. Have to see if it will run my VC++ app > with builtin msvcrt yet. > > Lawson > -- Rick Romero IT Manager ph: 262.685.4841 Valeo, Inc. fax: 262.695.4850 rick@valeoinc.com _______________________________________________ wine-users mailing list wine-users@winehq.com http://www.winehq.com/mailman/listinfo/wine-users