http://bugs.winehq.org/show_bug.cgi?id=3154
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|mathcad 5.0 when closing |Matchad 5 remains in memory |file or application fixme: |on exit |ole:OleRevokeClientDoc (1): | |stub repeated forever. |
--- Comment #16 from Ken Sharp kennybobs@o2.co.uk 2009-09-05 02:53:44 --- I have been messing around with this for a few hours now and unfortunately got nowhere.
Note, that the error seems to have changed over time. Originally starting with a OleRevokeClientDoc (1) problem, then moving onto a OleRevokeServerDoc (3) and now onto a OleRevokeServerDoc (2).
Unless I'm mistaken, these are status codes (1 = OLE_WAIT_FOR_RELEASE, 2 = OLE_BUSY, 3 = OLE_ERROR_PROTECT_ONLY). I could be wrong, but this does seem to fit the results. The traces over time also become slightly more descriptive, which seems to show Wine handling the app (OLE) better.
According to http://support.microsoft.com/kb/83454 OleRevokeServerDoc should be issuing a OLE_CLOSED notification to the client, but OLE_CLOSED doesn't seem to be defined. I've tried adding a simple definition in the hope the app would handle it, but it didn't help (the link does mention that it might not). The stub currently issues an OLE_OK, but I don't think the app cares too much for that.
+ole trace doesn't give any clue.
+relay shows the same lines repeated forever until killed:
0009:Call user32.SendMessageA(0001004e,00000010,00000000,00000000) ret=00404765 0009:Call window proc 0x429ac0 (hwnd=0x1004e,msg=WM_CLOSE,wp=00000000,lp=00000000) 0009:Ret window proc 0x429ac0 (hwnd=0x1004e,msg=WM_CLOSE,wp=00000000,lp=00000000) retval=00000000 0009:Ret user32.SendMessageA() retval=00000000 ret=00404765 0009:Call user32.GetWindow(00010034,00000005) ret=00404735 0009:Ret user32.GetWindow() retval=0001004e ret=00404735 0009:Call user32.GetWindow(0001004e,00000004) ret=00404743 0009:Ret user32.GetWindow() retval=00000000 ret=00404743
Sorry for not being more help, I was hoping to have learned something, but failed. The best I managed to achieve messing with the code was a few page faults - at least it was different!
The repeated user32 messages, however, make me wonder if I have been barking up the wrong ole tree?